| Index: src/x64/macro-assembler-x64.cc
|
| diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc
|
| index 13d7ddaa685bf92e16a4adab1faa1dc17fee4aae..0496f14957e2e304c1b49d71bfa44c5370fadf93 100644
|
| --- a/src/x64/macro-assembler-x64.cc
|
| +++ b/src/x64/macro-assembler-x64.cc
|
| @@ -2798,9 +2798,9 @@ void MacroAssembler::Ret(int bytes_dropped, Register scratch) {
|
| if (is_uint16(bytes_dropped)) {
|
| ret(bytes_dropped);
|
| } else {
|
| - pop(scratch);
|
| + PopReturnAddressTo(scratch);
|
| addq(rsp, Immediate(bytes_dropped));
|
| - push(scratch);
|
| + PushReturnAddressFrom(scratch);
|
| ret(0);
|
| }
|
| }
|
| @@ -3567,8 +3567,7 @@ void MacroAssembler::LeaveExitFrame(bool save_doubles) {
|
| // from the caller stack.
|
| lea(rsp, Operand(r15, 1 * kPointerSize));
|
|
|
| - // Push the return address to get ready to return.
|
| - push(rcx);
|
| + PushReturnAddressFrom(rcx);
|
|
|
| LeaveExitFrameEpilogue();
|
| }
|
|
|