Reviewers: Søren Gjesse, Description: Fix an edge case in non-vfp3 version of TypeRecordingBinaryOpStub.
Please review this at http://codereview.chromium.org/6903030/ SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/ Affected files: M src/arm/code-stubs-arm.cc Index: src/arm/code-stubs-arm.cc =================================================================== --- src/arm/code-stubs-arm.cc (revision 7681) +++ src/arm/code-stubs-arm.cc (working copy) @@ -2327,6 +2327,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, @@ -2334,7 +2336,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); @@ -2345,6 +2347,10 @@ if (FLAG_debug_code) { __ stop("Unreachable code."); } + + __ bind(&pop_and_call_runtime); + __ Drop(2); + __ b(&call_runtime); } break; -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
