Index: src/ic/x64/handler-compiler-x64.cc |
diff --git a/src/ic/x64/handler-compiler-x64.cc b/src/ic/x64/handler-compiler-x64.cc |
index ac3dd9a36748190297e4fe3dcca7d86ddc58d38b..ba8010f9833d4315aadb22541cbfbcffec4b0050 100644 |
--- a/src/ic/x64/handler-compiler-x64.cc |
+++ b/src/ic/x64/handler-compiler-x64.cc |
@@ -238,6 +238,8 @@ void NamedStoreHandlerCompiler::GenerateStoreViaSetter( |
{ |
FrameScope scope(masm, StackFrame::INTERNAL); |
+ // Save context register |
+ __ pushq(rsi); |
// Save value register, so we can restore it later. |
__ Push(value()); |
@@ -269,7 +271,7 @@ void NamedStoreHandlerCompiler::GenerateStoreViaSetter( |
__ Pop(rax); |
// Restore context register. |
- __ movp(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); |
+ __ popq(rsi); |
} |
__ ret(0); |
} |
@@ -286,6 +288,9 @@ void NamedLoadHandlerCompiler::GenerateLoadViaGetter( |
{ |
FrameScope scope(masm, StackFrame::INTERNAL); |
+ // Save context register |
+ __ pushq(rsi); |
+ |
if (accessor_index >= 0) { |
DCHECK(!holder.is(scratch)); |
DCHECK(!receiver.is(scratch)); |
@@ -309,7 +314,7 @@ void NamedLoadHandlerCompiler::GenerateLoadViaGetter( |
} |
// Restore context register. |
- __ movp(rsi, Operand(rbp, StandardFrameConstants::kContextOffset)); |
+ __ popq(rsi); |
} |
__ ret(0); |
} |