Index: src/ia32/codegen-ia32.cc |
diff --git a/src/ia32/codegen-ia32.cc b/src/ia32/codegen-ia32.cc |
index 20f513884e1c3b30106754fe830c1258619fd049..2190531b435d575c8b331fa57985b37dc18e88ba 100644 |
--- a/src/ia32/codegen-ia32.cc |
+++ b/src/ia32/codegen-ia32.cc |
@@ -704,6 +704,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); |
@@ -753,10 +754,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. |
@@ -818,7 +819,7 @@ void ElementsTransitionGenerator::GenerateDoubleToObject( |
// Restore registers. |
__ pop(eax); |
- __ mov(esi, Operand(ebp, StandardFrameConstants::kContextOffset)); |
+ __ pop(esi); |
__ bind(&success); |
} |