| Index: src/hydrogen-instructions.h | 
| diff --git a/src/hydrogen-instructions.h b/src/hydrogen-instructions.h | 
| index a6da1c3a75e9b3ceb3abc8264608687180e8f9da..c0ca21cbabf65fb7b961585dc862a1fb6712ae7e 100644 | 
| --- a/src/hydrogen-instructions.h | 
| +++ b/src/hydrogen-instructions.h | 
| @@ -875,9 +875,11 @@ class HValue : public ZoneObject { | 
| // This function must be overridden for instructions which have the | 
| // kTrackSideEffectDominators flag set, to track instructions that are | 
| // dominating side effects. | 
| -  virtual void HandleSideEffectDominator(GVNFlag side_effect, | 
| +  // It returns true if it removed an instruction which had side effects. | 
| +  virtual bool HandleSideEffectDominator(GVNFlag side_effect, | 
| HValue* dominator) { | 
| UNREACHABLE(); | 
| +    return false; | 
| } | 
|  | 
| // Check if this instruction has some reason that prevents elimination. | 
| @@ -2664,7 +2666,7 @@ class HCheckMaps V8_FINAL : public HTemplateInstruction<2> { | 
| virtual Representation RequiredInputRepresentation(int index) V8_OVERRIDE { | 
| return Representation::Tagged(); | 
| } | 
| -  virtual void HandleSideEffectDominator(GVNFlag side_effect, | 
| +  virtual bool HandleSideEffectDominator(GVNFlag side_effect, | 
| HValue* dominator) V8_OVERRIDE; | 
| virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; | 
|  | 
| @@ -5332,7 +5334,7 @@ class HAllocate V8_FINAL : public HTemplateInstruction<2> { | 
| flags_ = static_cast<HAllocate::Flags>(flags_ | ALLOCATE_DOUBLE_ALIGNED); | 
| } | 
|  | 
| -  virtual void HandleSideEffectDominator(GVNFlag side_effect, | 
| +  virtual bool HandleSideEffectDominator(GVNFlag side_effect, | 
| HValue* dominator) V8_OVERRIDE; | 
|  | 
| virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; | 
| @@ -6444,10 +6446,11 @@ class HStoreNamedField V8_FINAL : public HTemplateInstruction<3> { | 
| } | 
| return Representation::Tagged(); | 
| } | 
| -  virtual void HandleSideEffectDominator(GVNFlag side_effect, | 
| +  virtual bool HandleSideEffectDominator(GVNFlag side_effect, | 
| HValue* dominator) V8_OVERRIDE { | 
| ASSERT(side_effect == kChangesNewSpacePromotion); | 
| new_space_dominator_ = dominator; | 
| +    return false; | 
| } | 
| virtual void PrintDataTo(StringStream* stream) V8_OVERRIDE; | 
|  | 
| @@ -6674,10 +6677,11 @@ class HStoreKeyed V8_FINAL | 
| return value()->IsConstant() && HConstant::cast(value())->IsTheHole(); | 
| } | 
|  | 
| -  virtual void HandleSideEffectDominator(GVNFlag side_effect, | 
| +  virtual bool HandleSideEffectDominator(GVNFlag side_effect, | 
| HValue* dominator) V8_OVERRIDE { | 
| ASSERT(side_effect == kChangesNewSpacePromotion); | 
| new_space_dominator_ = dominator; | 
| +    return false; | 
| } | 
|  | 
| HValue* new_space_dominator() const { return new_space_dominator_; } | 
|  |