| Index: src/hydrogen-instructions.cc
|
| ===================================================================
|
| --- src/hydrogen-instructions.cc (revision 9445)
|
| +++ src/hydrogen-instructions.cc (working copy)
|
| @@ -1481,11 +1481,6 @@
|
| }
|
|
|
|
|
| -bool HLoadKeyedFastDoubleElement::RequiresHoleCheck() const {
|
| - return true;
|
| -}
|
| -
|
| -
|
| void HLoadKeyedGeneric::PrintDataTo(StringStream* stream) {
|
| object()->PrintNameTo(stream);
|
| stream->Add("[");
|
| @@ -1639,10 +1634,20 @@
|
|
|
| void HLoadGlobalCell::PrintDataTo(StringStream* stream) {
|
| stream->Add("[%p]", *cell());
|
| - if (check_hole_value()) stream->Add(" (deleteable/read-only)");
|
| + if (deleteable_or_const()) stream->Add(" (deleteable/read-only)");
|
| }
|
|
|
|
|
| +bool HLoadGlobalCell::RequiresHoleCheck() const {
|
| + if (!deleteable_or_const()) return false;
|
| + for (HUseIterator it(uses()); !it.Done(); it.Advance()) {
|
| + HValue* use = it.value();
|
| + if (!use->IsChange()) return true;
|
| + }
|
| + return false;
|
| +}
|
| +
|
| +
|
| void HLoadGlobalGeneric::PrintDataTo(StringStream* stream) {
|
| stream->Add("%o ", *name());
|
| }
|
| @@ -1651,6 +1656,7 @@
|
| void HStoreGlobalCell::PrintDataTo(StringStream* stream) {
|
| stream->Add("[%p] = ", *cell());
|
| value()->PrintNameTo(stream);
|
| + if (deleteable_or_const()) stream->Add(" (deleteable/read-only)");
|
| }
|
|
|
|
|
|
|