Index: src/execution.cc |
=================================================================== |
--- src/execution.cc (revision 917) |
+++ src/execution.cc (working copy) |
@@ -95,10 +95,15 @@ |
*has_pending_exception = value->IsException(); |
ASSERT(*has_pending_exception == Top::has_pending_exception()); |
if (*has_pending_exception) { |
- Top::ReportPendingMessages(); |
+ Top::setup_external_caught(); |
+ // If the pending exception is OutOfMemoryException set out_of_memory in |
+ // the global context. Note: We have to mark the global context here |
+ // since the GenerateThrowOutOfMemory stub cannot make a RuntimeCall to |
+ // set it. |
+ if (Top::pending_exception() == Failure::OutOfMemoryException()) { |
+ Top::context()->mark_out_of_memory(); |
+ } |
return Handle<Object>(); |
- } else { |
- Top::clear_pending_message(); |
} |
return Handle<Object>(value); |