Index: src/ia32/full-codegen-ia32.cc |
diff --git a/src/ia32/full-codegen-ia32.cc b/src/ia32/full-codegen-ia32.cc |
index 7a499151b50790c1606161cbedf9c6cc4f31a332..611a2c5c38eb0c59c6f5851b8f6a812316c5eab8 100644 |
--- a/src/ia32/full-codegen-ia32.cc |
+++ b/src/ia32/full-codegen-ia32.cc |
@@ -1964,18 +1964,14 @@ void FullCodeGenerator::VisitAssignment(Assignment* expr) { |
__ push(eax); // Left operand goes on the stack. |
VisitForAccumulatorValue(expr->value()); |
- OverwriteMode mode = expr->value()->ResultOverwriteAllowed() |
- ? OVERWRITE_RIGHT |
- : NO_OVERWRITE; |
SetSourcePosition(expr->position() + 1); |
if (ShouldInlineSmiCase(op)) { |
EmitInlineSmiBinaryOp(expr->binary_operation(), |
op, |
- mode, |
expr->target(), |
expr->value()); |
} else { |
- EmitBinaryOp(expr->binary_operation(), op, mode); |
+ EmitBinaryOp(expr->binary_operation(), op); |
} |
// Deoptimization point in case the binary operation may have side effects. |
@@ -2356,7 +2352,6 @@ void FullCodeGenerator::EmitKeyedSuperPropertyLoad(Property* prop) { |
void FullCodeGenerator::EmitInlineSmiBinaryOp(BinaryOperation* expr, |
Token::Value op, |
- OverwriteMode mode, |
Expression* left, |
Expression* right) { |
// Do combined smi check of the operands. Left operand is on the |
@@ -2370,7 +2365,7 @@ void FullCodeGenerator::EmitInlineSmiBinaryOp(BinaryOperation* expr, |
__ bind(&stub_call); |
__ mov(eax, ecx); |
- Handle<Code> code = CodeFactory::BinaryOpIC(isolate(), op, mode).code(); |
+ Handle<Code> code = CodeFactory::BinaryOpIC(isolate(), op).code(); |
CallIC(code, expr->BinaryOperationFeedbackId()); |
patch_site.EmitPatchInfo(); |
__ jmp(&done, Label::kNear); |
@@ -2502,11 +2497,9 @@ void FullCodeGenerator::EmitClassDefineProperties(ClassLiteral* lit) { |
} |
-void FullCodeGenerator::EmitBinaryOp(BinaryOperation* expr, |
- Token::Value op, |
- OverwriteMode mode) { |
+void FullCodeGenerator::EmitBinaryOp(BinaryOperation* expr, Token::Value op) { |
__ pop(edx); |
- Handle<Code> code = CodeFactory::BinaryOpIC(isolate(), op, mode).code(); |
+ Handle<Code> code = CodeFactory::BinaryOpIC(isolate(), op).code(); |
JumpPatchSite patch_site(masm_); // unbound, signals no inlined smi code. |
CallIC(code, expr->BinaryOperationFeedbackId()); |
patch_site.EmitPatchInfo(); |
@@ -4778,8 +4771,8 @@ void FullCodeGenerator::VisitCountOperation(CountOperation* expr) { |
__ bind(&stub_call); |
__ mov(edx, eax); |
__ mov(eax, Immediate(Smi::FromInt(1))); |
- Handle<Code> code = CodeFactory::BinaryOpIC(isolate(), expr->binary_op(), |
- NO_OVERWRITE).code(); |
+ Handle<Code> code = |
+ CodeFactory::BinaryOpIC(isolate(), expr->binary_op()).code(); |
CallIC(code, expr->CountBinOpFeedbackId()); |
patch_site.EmitPatchInfo(); |
__ bind(&done); |