Index: src/x87/full-codegen-x87.cc |
diff --git a/src/x87/full-codegen-x87.cc b/src/x87/full-codegen-x87.cc |
index 93878fea7e585311f2de9ffd65558997e84b7470..fffb4b27a76fc1a81482c3ff3470e0f772a6ac4a 100644 |
--- a/src/x87/full-codegen-x87.cc |
+++ b/src/x87/full-codegen-x87.cc |
@@ -5269,6 +5269,8 @@ void FullCodeGenerator::EnterFinallyBlock() { |
ExternalReference::address_of_pending_message_obj(isolate()); |
__ mov(edx, Operand::StaticVariable(pending_message_obj)); |
__ push(edx); |
+ |
+ ClearPendingMessage(); |
} |
@@ -5291,6 +5293,15 @@ void FullCodeGenerator::ExitFinallyBlock() { |
} |
+void FullCodeGenerator::ClearPendingMessage() { |
+ DCHECK(!result_register().is(edx)); |
+ ExternalReference pending_message_obj = |
+ ExternalReference::address_of_pending_message_obj(isolate()); |
+ __ mov(edx, Immediate(isolate()->factory()->the_hole_value())); |
+ __ mov(Operand::StaticVariable(pending_message_obj), edx); |
+} |
+ |
+ |
#undef __ |