| Index: src/arm/full-codegen-arm.cc
|
| ===================================================================
|
| --- src/arm/full-codegen-arm.cc (revision 7030)
|
| +++ src/arm/full-codegen-arm.cc (working copy)
|
| @@ -1560,7 +1560,11 @@
|
| void FullCodeGenerator::EmitBinaryOp(Token::Value op,
|
| OverwriteMode mode) {
|
| __ pop(r1);
|
| - if (op == Token::ADD || op == Token::SUB) {
|
| + if (op == Token::ADD ||
|
| + op == Token::SUB ||
|
| + op == Token::MUL ||
|
| + op == Token::DIV ||
|
| + op == Token::MOD) {
|
| TypeRecordingBinaryOpStub stub(op, mode);
|
| __ CallStub(&stub);
|
| } else {
|
| @@ -3077,8 +3081,8 @@
|
| Label no_conversion;
|
| __ tst(result_register(), Operand(kSmiTagMask));
|
| __ b(eq, &no_conversion);
|
| - __ push(r0);
|
| - __ InvokeBuiltin(Builtins::TO_NUMBER, CALL_JS);
|
| + ToNumberStub convert_stub;
|
| + __ CallStub(&convert_stub);
|
| __ bind(&no_conversion);
|
| context()->Plug(result_register());
|
| break;
|
| @@ -3197,8 +3201,8 @@
|
| // Call ToNumber only if operand is not a smi.
|
| Label no_conversion;
|
| __ JumpIfSmi(r0, &no_conversion);
|
| - __ push(r0);
|
| - __ InvokeBuiltin(Builtins::TO_NUMBER, CALL_JS);
|
| + ToNumberStub convert_stub;
|
| + __ CallStub(&convert_stub);
|
| __ bind(&no_conversion);
|
|
|
| // Save result for postfix expressions.
|
|
|