Index: src/x64/codegen-x64.cc |
diff --git a/src/x64/codegen-x64.cc b/src/x64/codegen-x64.cc |
index 81c1a69aa8efd1c14c064e340297a2415abaa96a..33e987e248830c57e8a0443147809c1cb6c715ac 100644 |
--- a/src/x64/codegen-x64.cc |
+++ b/src/x64/codegen-x64.cc |
@@ -288,6 +288,7 @@ void ElementsTransitionGenerator::GenerateDoubleToObject( |
__ CompareRoot(r8, Heap::kEmptyFixedArrayRootIndex); |
__ j(equal, &only_change_map); |
+ __ Push(rsi); |
__ Push(rax); |
__ movp(r8, FieldOperand(rdx, JSObject::kElementsOffset)); |
@@ -326,7 +327,7 @@ void ElementsTransitionGenerator::GenerateDoubleToObject( |
// Call into runtime if GC is required. |
__ bind(&gc_required); |
__ Pop(rax); |
- __ movp(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); |
+ __ Pop(rsi); |
__ jmp(fail); |
// Box doubles into heap numbers. |
@@ -380,7 +381,7 @@ void ElementsTransitionGenerator::GenerateDoubleToObject( |
EMIT_REMEMBERED_SET, |
OMIT_SMI_CHECK); |
__ Pop(rax); |
- __ movp(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); |
+ __ Pop(rsi); |
__ bind(&only_change_map); |
// Set transitioned map. |