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

View File

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

View File

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