Fix an edge case in non-vfp3 version of TypeRecordingBinaryOpStub.
Review URL: http://codereview.chromium.org/6903030 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@7683 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
This commit is contained in:
parent
b62bdda7d1
commit
db2cb44b55
@ -2327,6 +2327,8 @@ void TypeRecordingBinaryOpStub::GenerateInt32Stub(MacroAssembler* masm) {
|
||||
// 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 @@ void TypeRecordingBinaryOpStub::GenerateInt32Stub(MacroAssembler* masm) {
|
||||
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 @@ void TypeRecordingBinaryOpStub::GenerateInt32Stub(MacroAssembler* masm) {
|
||||
if (FLAG_debug_code) {
|
||||
__ stop("Unreachable code.");
|
||||
}
|
||||
|
||||
__ bind(&pop_and_call_runtime);
|
||||
__ Drop(2);
|
||||
__ b(&call_runtime);
|
||||
}
|
||||
|
||||
break;
|
||||
|
Loading…
Reference in New Issue
Block a user