Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(56)

Side by Side Diff: src/debug/debug.cc

Issue 2445233004: [debugger] fix stepping out of across throwing. (Closed)
Patch Set: Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 <memory> 7 #include <memory>
8 8
9 #include "src/api.h" 9 #include "src/api.h"
10 #include "src/arguments.h" 10 #include "src/arguments.h"
(...skipping 918 matching lines...) Expand 10 before | Expand all | Expand 10 after
929 ClearOneShot(); 929 ClearOneShot();
930 930
931 // Iterate through the JavaScript stack looking for handlers. 931 // Iterate through the JavaScript stack looking for handlers.
932 JavaScriptFrameIterator it(isolate_); 932 JavaScriptFrameIterator it(isolate_);
933 while (!it.done()) { 933 while (!it.done()) {
934 JavaScriptFrame* frame = it.frame(); 934 JavaScriptFrame* frame = it.frame();
935 if (frame->LookupExceptionHandlerInTable(nullptr, nullptr) > 0) break; 935 if (frame->LookupExceptionHandlerInTable(nullptr, nullptr) > 0) break;
936 it.Advance(); 936 it.Advance();
937 } 937 }
938 938
939 if (last_step_action() == StepNext) { 939 if (last_step_action() == StepNext || last_step_action() == StepOut) {
940 while (!it.done()) { 940 while (!it.done()) {
941 Address current_fp = it.frame()->UnpaddedFP(); 941 Address current_fp = it.frame()->UnpaddedFP();
942 if (current_fp >= thread_local_.target_fp_) break; 942 if (current_fp >= thread_local_.target_fp_) break;
943 it.Advance(); 943 it.Advance();
944 } 944 }
945 } 945 }
946 946
947 // Find the closest Javascript frame we can flood with one-shots. 947 // Find the closest Javascript frame we can flood with one-shots.
948 while (!it.done() && 948 while (!it.done() &&
949 !it.frame()->function()->shared()->IsSubjectToDebugging()) { 949 !it.frame()->function()->shared()->IsSubjectToDebugging()) {
(...skipping 1611 matching lines...) Expand 10 before | Expand all | Expand 10 after
2561 } 2561 }
2562 2562
2563 2563
2564 void LockingCommandMessageQueue::Clear() { 2564 void LockingCommandMessageQueue::Clear() {
2565 base::LockGuard<base::Mutex> lock_guard(&mutex_); 2565 base::LockGuard<base::Mutex> lock_guard(&mutex_);
2566 queue_.Clear(); 2566 queue_.Clear();
2567 } 2567 }
2568 2568
2569 } // namespace internal 2569 } // namespace internal
2570 } // namespace v8 2570 } // namespace v8
OLDNEW
« no previous file with comments | « no previous file | test/mjsunit/regress/regress-5559.js » ('j') | test/mjsunit/regress/regress-5559.js » ('J')

Powered by Google App Engine
This is Rietveld 408576698