OLD | NEW |
1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 710 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
721 | 721 |
722 HandleScope scope; | 722 HandleScope scope; |
723 Handle<Object> exception_handle(exception); | 723 Handle<Object> exception_handle(exception); |
724 | 724 |
725 // Determine reporting and whether the exception is caught externally. | 725 // Determine reporting and whether the exception is caught externally. |
726 bool is_caught_externally = false; | 726 bool is_caught_externally = false; |
727 bool is_out_of_memory = exception == Failure::OutOfMemoryException(); | 727 bool is_out_of_memory = exception == Failure::OutOfMemoryException(); |
728 bool should_return_exception = ShouldReportException(&is_caught_externally); | 728 bool should_return_exception = ShouldReportException(&is_caught_externally); |
729 bool report_exception = !is_out_of_memory && should_return_exception; | 729 bool report_exception = !is_out_of_memory && should_return_exception; |
730 | 730 |
| 731 #ifdef ENABLE_DEBUGGER_SUPPORT |
731 // Notify debugger of exception. | 732 // Notify debugger of exception. |
732 Debugger::OnException(exception_handle, report_exception); | 733 Debugger::OnException(exception_handle, report_exception); |
| 734 #endif |
733 | 735 |
734 // Generate the message. | 736 // Generate the message. |
735 Handle<Object> message_obj; | 737 Handle<Object> message_obj; |
736 MessageLocation potential_computed_location; | 738 MessageLocation potential_computed_location; |
737 bool try_catch_needs_message = | 739 bool try_catch_needs_message = |
738 is_caught_externally && | 740 is_caught_externally && |
739 thread_local_.try_catch_handler_->capture_message_; | 741 thread_local_.try_catch_handler_->capture_message_; |
740 if (report_exception || try_catch_needs_message) { | 742 if (report_exception || try_catch_needs_message) { |
741 if (location == NULL) { | 743 if (location == NULL) { |
742 // If no location was specified we use a computed one instead | 744 // If no location was specified we use a computed one instead |
(...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
912 Top::break_access_->Lock(); | 914 Top::break_access_->Lock(); |
913 } | 915 } |
914 | 916 |
915 | 917 |
916 ExecutionAccess::~ExecutionAccess() { | 918 ExecutionAccess::~ExecutionAccess() { |
917 Top::break_access_->Unlock(); | 919 Top::break_access_->Unlock(); |
918 } | 920 } |
919 | 921 |
920 | 922 |
921 } } // namespace v8::internal | 923 } } // namespace v8::internal |
OLD | NEW |