OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "src/debug/debug.h" | 5 #include "src/debug/debug.h" |
6 | 6 |
7 #include "src/api.h" | 7 #include "src/api.h" |
8 #include "src/arguments.h" | 8 #include "src/arguments.h" |
9 #include "src/bootstrapper.h" | 9 #include "src/bootstrapper.h" |
10 #include "src/code-stubs.h" | 10 #include "src/code-stubs.h" |
(...skipping 804 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
815 if (!is_active()) return; | 815 if (!is_active()) return; |
816 if (last_step_action() == StepNone) return; | 816 if (last_step_action() == StepNone) return; |
817 if (in_debug_scope()) return; | 817 if (in_debug_scope()) return; |
818 | 818 |
819 ClearOneShot(); | 819 ClearOneShot(); |
820 | 820 |
821 // Iterate through the JavaScript stack looking for handlers. | 821 // Iterate through the JavaScript stack looking for handlers. |
822 JavaScriptFrameIterator it(isolate_); | 822 JavaScriptFrameIterator it(isolate_); |
823 while (!it.done()) { | 823 while (!it.done()) { |
824 JavaScriptFrame* frame = it.frame(); | 824 JavaScriptFrame* frame = it.frame(); |
825 int stack_slots = 0; // The computed stack slot count is not used. | 825 if (frame->LookupExceptionHandlerInTable(nullptr, nullptr) > 0) break; |
826 if (frame->LookupExceptionHandlerInTable(&stack_slots, NULL) > 0) break; | |
827 it.Advance(); | 826 it.Advance(); |
828 } | 827 } |
829 | 828 |
830 // Find the closest Javascript frame we can flood with one-shots. | 829 // Find the closest Javascript frame we can flood with one-shots. |
831 while (!it.done() && | 830 while (!it.done() && |
832 !it.frame()->function()->shared()->IsSubjectToDebugging()) { | 831 !it.frame()->function()->shared()->IsSubjectToDebugging()) { |
833 it.Advance(); | 832 it.Advance(); |
834 } | 833 } |
835 | 834 |
836 if (it.done()) return; // No suitable Javascript catch handler. | 835 if (it.done()) return; // No suitable Javascript catch handler. |
(...skipping 1624 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2461 } | 2460 } |
2462 | 2461 |
2463 | 2462 |
2464 void LockingCommandMessageQueue::Clear() { | 2463 void LockingCommandMessageQueue::Clear() { |
2465 base::LockGuard<base::Mutex> lock_guard(&mutex_); | 2464 base::LockGuard<base::Mutex> lock_guard(&mutex_); |
2466 queue_.Clear(); | 2465 queue_.Clear(); |
2467 } | 2466 } |
2468 | 2467 |
2469 } // namespace internal | 2468 } // namespace internal |
2470 } // namespace v8 | 2469 } // namespace v8 |
OLD | NEW |