| OLD | NEW |
| 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 "vm/code_generator.h" | 7 #include "vm/code_generator.h" |
| 8 #include "vm/code_patcher.h" | 8 #include "vm/code_patcher.h" |
| 9 #include "vm/compiler.h" | 9 #include "vm/compiler.h" |
| 10 #include "vm/dart_entry.h" | 10 #include "vm/dart_entry.h" |
| (...skipping 1266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1277 } | 1277 } |
| 1278 } else { | 1278 } else { |
| 1279 ASSERT(resume_action_ == kStepOut); | 1279 ASSERT(resume_action_ == kStepOut); |
| 1280 // Set stepping breakpoints in the caller. | 1280 // Set stepping breakpoints in the caller. |
| 1281 if (stack_trace->Length() > 1) { | 1281 if (stack_trace->Length() > 1) { |
| 1282 ActivationFrame* caller_frame = stack_trace->ActivationFrameAt(1); | 1282 ActivationFrame* caller_frame = stack_trace->ActivationFrameAt(1); |
| 1283 func_to_instrument = caller_frame->DartFunction().raw(); | 1283 func_to_instrument = caller_frame->DartFunction().raw(); |
| 1284 } | 1284 } |
| 1285 } | 1285 } |
| 1286 | 1286 |
| 1287 if (func_to_instrument.raw() != currently_instrumented_func.raw()) { | 1287 if (func_to_instrument.IsNull() || |
| 1288 (func_to_instrument.raw() != currently_instrumented_func.raw())) { |
| 1288 last_bpt_line_ = -1; | 1289 last_bpt_line_ = -1; |
| 1289 RemoveInternalBreakpoints(); // *bpt is now invalid. | 1290 RemoveInternalBreakpoints(); // *bpt is now invalid. |
| 1290 if (!func_to_instrument.IsNull()) { | 1291 if (!func_to_instrument.IsNull()) { |
| 1291 InstrumentForStepping(func_to_instrument); | 1292 InstrumentForStepping(func_to_instrument); |
| 1292 } | 1293 } |
| 1293 } | 1294 } |
| 1294 } | 1295 } |
| 1295 | 1296 |
| 1296 | 1297 |
| 1297 void Debugger::Initialize(Isolate* isolate) { | 1298 void Debugger::Initialize(Isolate* isolate) { |
| (...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1464 } | 1465 } |
| 1465 | 1466 |
| 1466 | 1467 |
| 1467 void Debugger::RegisterCodeBreakpoint(CodeBreakpoint* bpt) { | 1468 void Debugger::RegisterCodeBreakpoint(CodeBreakpoint* bpt) { |
| 1468 ASSERT(bpt->next() == NULL); | 1469 ASSERT(bpt->next() == NULL); |
| 1469 bpt->set_next(code_breakpoints_); | 1470 bpt->set_next(code_breakpoints_); |
| 1470 code_breakpoints_ = bpt; | 1471 code_breakpoints_ = bpt; |
| 1471 } | 1472 } |
| 1472 | 1473 |
| 1473 } // namespace dart | 1474 } // namespace dart |
| OLD | NEW |