| Index: src/x64/macro-assembler-x64.cc
|
| diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc
|
| index c6829c5bfb971d0a8398425caba303230736386f..45fbd41d4553bebf0f0c32c65f42aac3a2d1d3fb 100644
|
| --- a/src/x64/macro-assembler-x64.cc
|
| +++ b/src/x64/macro-assembler-x64.cc
|
| @@ -2028,16 +2028,15 @@ void MacroAssembler::EnterExitFramePrologue(bool save_rax) {
|
| push(kScratchRegister); // Accessed from EditFrame::code_slot.
|
|
|
| // Save the frame pointer and the context in top.
|
| - ExternalReference c_entry_fp_address(Top::k_c_entry_fp_address);
|
| - ExternalReference context_address(Top::k_context_address);
|
| if (save_rax) {
|
| - movq(r14, rax); // Backup rax before we use it.
|
| + movq(r14, rax); // Backup rax in callee-save register.
|
| }
|
|
|
| - movq(rax, rbp);
|
| - store_rax(c_entry_fp_address);
|
| - movq(rax, rsi);
|
| - store_rax(context_address);
|
| + movq(kScratchRegister, ExternalReference(Top::k_c_entry_fp_address));
|
| + movq(Operand(kScratchRegister, 0), rbp);
|
| +
|
| + movq(kScratchRegister, ExternalReference(Top::k_context_address));
|
| + movq(Operand(kScratchRegister, 0), rsi);
|
| }
|
|
|
|
|
|
|