Index: src/mips/full-codegen-mips.cc |
diff --git a/src/mips/full-codegen-mips.cc b/src/mips/full-codegen-mips.cc |
index 67ec571296af847d2c6d63f1b967803d5cb764e0..fea797e7a4bf3c23519193d834c3cda145cc0abe 100644 |
--- a/src/mips/full-codegen-mips.cc |
+++ b/src/mips/full-codegen-mips.cc |
@@ -5353,6 +5353,8 @@ void FullCodeGenerator::EnterFinallyBlock() { |
__ li(at, Operand(pending_message_obj)); |
__ lw(a1, MemOperand(at)); |
__ push(a1); |
+ |
+ ClearPendingMessage(); |
} |
@@ -5377,6 +5379,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)); |
+ __ sw(a1, MemOperand(at)); |
+} |
+ |
+ |
#undef __ |