Index: src/x87/codegen-x87.cc |
diff --git a/src/x87/codegen-x87.cc b/src/x87/codegen-x87.cc |
index 0a39e85816ca0ac88e1c141735efb14d8e7b3f66..776edeb646240249dc265a9a1b5ddcc432615f4b 100644 |
--- a/src/x87/codegen-x87.cc |
+++ b/src/x87/codegen-x87.cc |
@@ -381,6 +381,7 @@ void ElementsTransitionGenerator::GenerateDoubleToObject( |
__ cmp(edi, Immediate(masm->isolate()->factory()->empty_fixed_array())); |
__ j(equal, &only_change_map); |
+ __ push(esi); |
__ push(eax); |
__ push(edx); |
__ push(ebx); |
@@ -425,10 +426,10 @@ void ElementsTransitionGenerator::GenerateDoubleToObject( |
// Call into runtime if GC is required. |
__ bind(&gc_required); |
- __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); |
__ pop(ebx); |
__ pop(edx); |
__ pop(eax); |
+ __ pop(esi); |
__ jmp(fail); |
// Box doubles into heap numbers. |
@@ -477,7 +478,7 @@ void ElementsTransitionGenerator::GenerateDoubleToObject( |
// Restore registers. |
__ pop(eax); |
- __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); |
+ __ pop(esi); |
__ bind(&success); |
} |