| Index: src/code-stubs-hydrogen.cc
|
| diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc
|
| index c9529a8de869d5e622d87a1c555e2512d5fcbe71..f8fde15895ac12a2c8c737ab8e13172f86036788 100644
|
| --- a/src/code-stubs-hydrogen.cc
|
| +++ b/src/code-stubs-hydrogen.cc
|
| @@ -932,17 +932,15 @@ HValue* CodeStubGraphBuilder<BinaryOpStub>::BuildCodeInitializedStub() {
|
| result = EnforceNumberType(result, result_type);
|
| }
|
|
|
| - // Reuse the double box if we are allowed to (i.e. chained binops).
|
| + // Reuse the double box of one of the operands if we are allowed to (i.e.
|
| + // chained binops).
|
| if (stub->CanReuseDoubleBox()) {
|
| - HValue* reuse = (stub->mode() == OVERWRITE_LEFT) ? left : right;
|
| + HValue* operand = (stub->mode() == OVERWRITE_LEFT) ? left : right;
|
| IfBuilder if_heap_number(this);
|
| - if_heap_number.IfNot<HIsSmiAndBranch>(reuse);
|
| + if_heap_number.IfNot<HIsSmiAndBranch>(operand);
|
| if_heap_number.Then();
|
| - HValue* res_val = Add<HForceRepresentation>(result,
|
| - Representation::Double());
|
| - HObjectAccess access = HObjectAccess::ForHeapNumberValue();
|
| - Add<HStoreNamedField>(reuse, access, res_val);
|
| - Push(reuse);
|
| + Add<HStoreNamedField>(operand, HObjectAccess::ForHeapNumberValue(), result);
|
| + Push(operand);
|
| if_heap_number.Else();
|
| Push(result);
|
| if_heap_number.End();
|
|
|