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

Side by Side Diff: runtime/vm/debugger.cc

Issue 1412733008: Switch profiler from isolates to threads (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 2 months 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 (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/debugger.h" 5 #include "vm/debugger.h"
6 6
7 #include "include/dart_api.h" 7 #include "include/dart_api.h"
8 8
9 #include "vm/code_generator.h" 9 #include "vm/code_generator.h"
10 #include "vm/code_patcher.h" 10 #include "vm/code_patcher.h"
(...skipping 2529 matching lines...) Expand 10 before | Expand all | Expand 10 after
2540 isolate_->set_single_step(true); 2540 isolate_->set_single_step(true);
2541 // Find topmost caller that is debuggable. 2541 // Find topmost caller that is debuggable.
2542 for (intptr_t i = 1; i < stack_trace->Length(); i++) { 2542 for (intptr_t i = 1; i < stack_trace->Length(); i++) {
2543 ActivationFrame* frame = stack_trace->FrameAt(i); 2543 ActivationFrame* frame = stack_trace->FrameAt(i);
2544 if (frame->IsDebuggable()) { 2544 if (frame->IsDebuggable()) {
2545 stepping_fp_ = frame->fp(); 2545 stepping_fp_ = frame->fp();
2546 break; 2546 break;
2547 } 2547 }
2548 } 2548 }
2549 } 2549 }
2550 if (!isolate_->single_step()) {
Ivan Posva 2015/10/28 06:45:16 Where is the equivalent for single step handling i
Cutch 2015/10/28 14:57:51 I've moved this into Debugger::Pause which disable
2551 // We are no longer single stepping, make sure that the ThreadInterrupter
2552 // is awake.
2553 ThreadInterrupter::WakeUp();
2554 }
2555 } 2550 }
2556 2551
2557 2552
2558 // static 2553 // static
2559 bool Debugger::IsDebuggable(const Function& func) { 2554 bool Debugger::IsDebuggable(const Function& func) {
2560 if (!func.is_debuggable()) { 2555 if (!func.is_debuggable()) {
2561 return false; 2556 return false;
2562 } 2557 }
2563 if (ServiceIsolate::IsRunning()) { 2558 if (ServiceIsolate::IsRunning()) {
2564 return true; 2559 return true;
(...skipping 674 matching lines...) Expand 10 before | Expand all | Expand 10 after
3239 } 3234 }
3240 3235
3241 3236
3242 void Debugger::RegisterCodeBreakpoint(CodeBreakpoint* bpt) { 3237 void Debugger::RegisterCodeBreakpoint(CodeBreakpoint* bpt) {
3243 ASSERT(bpt->next() == NULL); 3238 ASSERT(bpt->next() == NULL);
3244 bpt->set_next(code_breakpoints_); 3239 bpt->set_next(code_breakpoints_);
3245 code_breakpoints_ = bpt; 3240 code_breakpoints_ = bpt;
3246 } 3241 }
3247 3242
3248 } // namespace dart 3243 } // namespace dart
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698