Index: src/arm/code-stubs-arm.cc |
=================================================================== |
--- src/arm/code-stubs-arm.cc (revision 5639) |
+++ src/arm/code-stubs-arm.cc (working copy) |
@@ -935,11 +935,8 @@ |
__ orr(r2, r1, r0); |
__ tst(r2, Operand(kSmiTagMask)); |
__ b(ne, ¬_two_smis); |
- __ sub(r0, r1, r0, SetCC); |
- __ b(vc, &smi_done); |
- // Correct the sign in case of overflow. |
- __ rsb(r0, r0, Operand(0, RelocInfo::NONE)); |
- __ bind(&smi_done); |
+ __ mov(r1, Operand(r1, ASR, 1)); |
+ __ sub(r0, r1, Operand(r0, ASR, 1)); |
__ Ret(); |
__ bind(¬_two_smis); |
} else if (FLAG_debug_code) { |