| Index: src/interpreter/bytecode-generator.cc
|
| diff --git a/src/interpreter/bytecode-generator.cc b/src/interpreter/bytecode-generator.cc
|
| index d4f5129d4435839c8e2dc32c2325ef724f25634f..78a3c694b7a1e6b38f121a8518d09e243a93d9f1 100644
|
| --- a/src/interpreter/bytecode-generator.cc
|
| +++ b/src/interpreter/bytecode-generator.cc
|
| @@ -2238,7 +2238,10 @@ void BytecodeGenerator::VisitAssignment(Assignment* expr) {
|
| }
|
| }
|
| VisitForAccumulatorValue(expr->value());
|
| - builder()->BinaryOperation(expr->binary_op(), old_value);
|
| + FeedbackVectorSlot slot =
|
| + expr->binary_operation()->BinaryOperationFeedbackSlot();
|
| + builder()->BinaryOperation(expr->binary_op(), old_value,
|
| + feedback_index(slot));
|
| } else {
|
| VisitForAccumulatorValue(expr->value());
|
| }
|
| @@ -2880,7 +2883,8 @@ void BytecodeGenerator::VisitCountOperation(CountOperation* expr) {
|
| }
|
|
|
| // Perform +1/-1 operation.
|
| - builder()->CountOperation(expr->binary_op());
|
| + FeedbackVectorSlot slot = expr->CountBinaryOpFeedbackSlot();
|
| + builder()->CountOperation(expr->binary_op(), feedback_index(slot));
|
|
|
| // Store the value.
|
| builder()->SetExpressionPosition(expr);
|
| @@ -2951,7 +2955,8 @@ void BytecodeGenerator::VisitArithmeticExpression(BinaryOperation* expr) {
|
| // +x and -x by the parser.
|
| Register lhs = VisitForRegisterValue(expr->left());
|
| VisitForAccumulatorValue(expr->right());
|
| - builder()->BinaryOperation(expr->op(), lhs);
|
| + FeedbackVectorSlot slot = expr->BinaryOperationFeedbackSlot();
|
| + builder()->BinaryOperation(expr->op(), lhs, feedback_index(slot));
|
| execution_result()->SetResultInAccumulator();
|
| }
|
|
|
|
|