| Index: src/arm/code-stubs-arm.cc
|
| ===================================================================
|
| --- src/arm/code-stubs-arm.cc (revision 7699)
|
| +++ src/arm/code-stubs-arm.cc (working copy)
|
| @@ -3425,6 +3425,8 @@
|
| // Save the left value on the stack.
|
| __ Push(r5, r4);
|
|
|
| + Label pop_and_call_runtime;
|
| +
|
| // Allocate a heap number to store the result.
|
| heap_number_result = r5;
|
| GenerateHeapResultAllocation(masm,
|
| @@ -3432,7 +3434,7 @@
|
| heap_number_map,
|
| scratch1,
|
| scratch2,
|
| - &call_runtime);
|
| + &pop_and_call_runtime);
|
|
|
| // Load the left value from the value saved on the stack.
|
| __ Pop(r1, r0);
|
| @@ -3440,6 +3442,10 @@
|
| // Call the C function to handle the double operation.
|
| FloatingPointHelper::CallCCodeForDoubleOperation(
|
| masm, op_, heap_number_result, scratch1);
|
| +
|
| + __ bind(&pop_and_call_runtime);
|
| + __ Drop(2);
|
| + __ b(&call_runtime);
|
| }
|
|
|
| break;
|
|
|