Revision: 7683
Author: [email protected]
Date: Tue Apr 26 09:40:20 2011
Log: Fix an edge case in non-vfp3 version of TypeRecordingBinaryOpStub.
Review URL: http://codereview.chromium.org/6903030
http://code.google.com/p/v8/source/detail?r=7683
Modified:
/branches/bleeding_edge/src/arm/code-stubs-arm.cc
=======================================
--- /branches/bleeding_edge/src/arm/code-stubs-arm.cc Thu Apr 21 03:02:58
2011
+++ /branches/bleeding_edge/src/arm/code-stubs-arm.cc Tue Apr 26 09:40:20
2011
@@ -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