Index: src/mips64/full-codegen-mips64.cc |
diff --git a/src/mips64/full-codegen-mips64.cc b/src/mips64/full-codegen-mips64.cc |
index b253ed8b3954b4fada10f38633bf48480e12e41b..65c4689fa868ecd6816f2ed608382cff1dda60c3 100644 |
--- a/src/mips64/full-codegen-mips64.cc |
+++ b/src/mips64/full-codegen-mips64.cc |
@@ -5356,6 +5356,8 @@ void FullCodeGenerator::EnterFinallyBlock() { |
__ li(at, Operand(pending_message_obj)); |
__ ld(a1, MemOperand(at)); |
__ push(a1); |
+ |
+ ClearPendingMessage(); |
} |
@@ -5380,6 +5382,16 @@ void FullCodeGenerator::ExitFinallyBlock() { |
} |
+void FullCodeGenerator::ClearPendingMessage() { |
+ DCHECK(!result_register().is(a1)); |
+ ExternalReference pending_message_obj = |
+ ExternalReference::address_of_pending_message_obj(isolate()); |
+ __ LoadRoot(a1, Heap::kTheHoleValueRootIndex); |
+ __ li(at, Operand(pending_message_obj)); |
+ __ sd(a1, MemOperand(at)); |
+} |
+ |
+ |
#undef __ |