Index: src/x64/macro-assembler-x64.cc |
diff --git a/src/x64/macro-assembler-x64.cc b/src/x64/macro-assembler-x64.cc |
index c3ea925034e74349c34f8a7ec6aa1eecc77bfe70..5cf09f2675476b437753518cfd0c6c99735cef11 100644 |
--- a/src/x64/macro-assembler-x64.cc |
+++ b/src/x64/macro-assembler-x64.cc |
@@ -1440,8 +1440,10 @@ void MacroAssembler::PushTryHandler(CodeLocation try_location, |
void MacroAssembler::PopTryHandler() { |
ASSERT_EQ(0, StackHandlerConstants::kNextOffset); |
+ // Unlink this handler. |
movq(kScratchRegister, ExternalReference(Top::k_handler_address)); |
pop(Operand(kScratchRegister, 0)); |
+ // Remove the remaining fields. |
addq(rsp, Immediate(StackHandlerConstants::kSize - kPointerSize)); |
} |