Commit 9724f062 authored by bmeurer@chromium.org's avatar bmeurer@chromium.org

Drop useless HForceRepresentation in BinaryOpStub.

R=svenpanne@chromium.org

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17182 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
parent 4b973b89
...@@ -932,17 +932,15 @@ HValue* CodeStubGraphBuilder<BinaryOpStub>::BuildCodeInitializedStub() { ...@@ -932,17 +932,15 @@ HValue* CodeStubGraphBuilder<BinaryOpStub>::BuildCodeInitializedStub() {
result = EnforceNumberType(result, result_type); 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()) { if (stub->CanReuseDoubleBox()) {
HValue* reuse = (stub->mode() == OVERWRITE_LEFT) ? left : right; HValue* operand = (stub->mode() == OVERWRITE_LEFT) ? left : right;
IfBuilder if_heap_number(this); IfBuilder if_heap_number(this);
if_heap_number.IfNot<HIsSmiAndBranch>(reuse); if_heap_number.IfNot<HIsSmiAndBranch>(operand);
if_heap_number.Then(); if_heap_number.Then();
HValue* res_val = Add<HForceRepresentation>(result, Add<HStoreNamedField>(operand, HObjectAccess::ForHeapNumberValue(), result);
Representation::Double()); Push(operand);
HObjectAccess access = HObjectAccess::ForHeapNumberValue();
Add<HStoreNamedField>(reuse, access, res_val);
Push(reuse);
if_heap_number.Else(); if_heap_number.Else();
Push(result); Push(result);
if_heap_number.End(); if_heap_number.End();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment