| Index: src/isolate.cc
|
| diff --git a/src/isolate.cc b/src/isolate.cc
|
| index 66733cb67514c5012a79c022875145f86e3f261b..a31a87740da43222a2cb32518865be875b24d799 100644
|
| --- a/src/isolate.cc
|
| +++ b/src/isolate.cc
|
| @@ -1023,9 +1023,9 @@ void Isolate::DoThrow(Object* exception, MessageLocation* location) {
|
| ShouldReportException(&can_be_caught_externally, catchable_by_javascript);
|
| bool report_exception = catchable_by_javascript && should_report_exception;
|
| bool try_catch_needs_message =
|
| - can_be_caught_externally && try_catch_handler()->capture_message_ &&
|
| - !thread_local_top()->rethrowing_message_;
|
| + can_be_caught_externally && try_catch_handler()->capture_message_;
|
| bool bootstrapping = bootstrapper()->IsActive();
|
| + bool rethrowing_message = thread_local_top()->rethrowing_message_;
|
|
|
| thread_local_top()->rethrowing_message_ = false;
|
|
|
| @@ -1035,7 +1035,7 @@ void Isolate::DoThrow(Object* exception, MessageLocation* location) {
|
| }
|
|
|
| // Generate the message if required.
|
| - if (report_exception || try_catch_needs_message) {
|
| + if (!rethrowing_message && (report_exception || try_catch_needs_message)) {
|
| MessageLocation potential_computed_location;
|
| if (location == NULL) {
|
| // If no location was specified we use a computed one instead.
|
|
|