Fix LStoreKeyed error when tracing instruction.

LStoreKeyed can have a NULL value(), when we recognize we are storing a constant
hole value.

BUG=
R=verwaest@chromium.org

Review URL: https://codereview.chromium.org/15793006

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@14951 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
mvstanton@chromium.org 2013-06-05 12:09:02 +00:00
parent 2272aa71d9
commit e792ae1fcc
3 changed files with 24 additions and 3 deletions

View File

@ -405,7 +405,14 @@ void LStoreKeyed::PrintDataTo(StringStream* stream) {
} else {
stream->Add("] <- ");
}
value()->PrintTo(stream);
if (value() == NULL) {
ASSERT(hydrogen()->IsConstantHoleStore() &&
hydrogen()->value()->representation().IsDouble());
stream->Add("<the hole(nan)>");
} else {
value()->PrintTo(stream);
}
}

View File

@ -452,7 +452,14 @@ void LStoreKeyed::PrintDataTo(StringStream* stream) {
} else {
stream->Add("] <- ");
}
value()->PrintTo(stream);
if (value() == NULL) {
ASSERT(hydrogen()->IsConstantHoleStore() &&
hydrogen()->value()->representation().IsDouble());
stream->Add("<the hole(nan)>");
} else {
value()->PrintTo(stream);
}
}

View File

@ -427,7 +427,14 @@ void LStoreKeyed::PrintDataTo(StringStream* stream) {
} else {
stream->Add("] <- ");
}
value()->PrintTo(stream);
if (value() == NULL) {
ASSERT(hydrogen()->IsConstantHoleStore() &&
hydrogen()->value()->representation().IsDouble());
stream->Add("<the hole(nan)>");
} else {
value()->PrintTo(stream);
}
}