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
This commit is contained in:
parent
4b973b8995
commit
9724f06211
@ -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();
|
||||
|
Loading…
Reference in New Issue
Block a user