Index: src/arm/code-stubs-arm.cc |
diff --git a/src/arm/code-stubs-arm.cc b/src/arm/code-stubs-arm.cc |
index 8a744ae6c536ec5acc12a4fcbbcd3e24f7914f2c..44fc7b46edc4f8f8671af86fcab0eaf9132c94ef 100644 |
--- a/src/arm/code-stubs-arm.cc |
+++ b/src/arm/code-stubs-arm.cc |
@@ -608,15 +608,14 @@ void DoubleToIStub::Generate(MacroAssembler* masm) { |
// Account for saved regs if input is sp. |
if (input_reg.is(sp)) double_offset += 2 * kPointerSize; |
- // Immediate values for this stub fit in instructions, so it's safe to use ip. |
- Register scratch = ip; |
+ Register scratch = GetRegisterThatIsNotOneOf(input_reg, result_reg); |
Register scratch_low = |
GetRegisterThatIsNotOneOf(input_reg, result_reg, scratch); |
Register scratch_high = |
GetRegisterThatIsNotOneOf(input_reg, result_reg, scratch, scratch_low); |
LowDwVfpRegister double_scratch = kScratchDoubleReg; |
- __ Push(scratch_high, scratch_low); |
+ __ Push(scratch, scratch_high, scratch_low); |
rmcilroy
2014/01/14 14:50:20
Please move 'scratch' to the end of the arguments
Mostyn Bramley-Moore
2014/01/14 15:01:50
Done.
|
if (!skip_fastpath()) { |
// Load double input. |
@@ -699,7 +698,7 @@ void DoubleToIStub::Generate(MacroAssembler* masm) { |
__ bind(&done); |
- __ Pop(scratch_high, scratch_low); |
+ __ Pop(scratch, scratch_high, scratch_low); |
__ Ret(); |
} |