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(); |
} |