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

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

Issue 805573003: Fix debugging of async code (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 6 years 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 | Annotate | Revision Log
« no previous file with comments | « no previous file | runtime/vm/debugger.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #ifndef VM_DEBUGGER_H_ 5 #ifndef VM_DEBUGGER_H_
6 #define VM_DEBUGGER_H_ 6 #define VM_DEBUGGER_H_
7 7
8 #include "include/dart_debugger_api.h" 8 #include "include/dart_debugger_api.h"
9 9
10 #include "vm/object.h" 10 #include "vm/object.h"
(...skipping 30 matching lines...) Expand all
41 RawString* SourceUrl(); 41 RawString* SourceUrl();
42 intptr_t LineNumber(); 42 intptr_t LineNumber();
43 43
44 void GetCodeLocation(Library* lib, Script* script, intptr_t* token_pos); 44 void GetCodeLocation(Library* lib, Script* script, intptr_t* token_pos);
45 45
46 void Enable(); 46 void Enable();
47 void Disable(); 47 void Disable();
48 bool IsEnabled() const { return is_enabled_; } 48 bool IsEnabled() const { return is_enabled_; }
49 bool IsResolved() const { return is_resolved_; } 49 bool IsResolved() const { return is_resolved_; }
50 50
51 bool IsOneShot() const { return is_one_shot_; }
52 void SetIsOneShot() { is_one_shot_ = true; }
53
51 void PrintJSON(JSONStream* stream); 54 void PrintJSON(JSONStream* stream);
52 55
53 private: 56 private:
54 void VisitObjectPointers(ObjectPointerVisitor* visitor); 57 void VisitObjectPointers(ObjectPointerVisitor* visitor);
55 58
56 void SetResolved(const Function& func, intptr_t token_pos); 59 void SetResolved(const Function& func, intptr_t token_pos);
57 void set_next(SourceBreakpoint* value) { next_ = value; } 60 void set_next(SourceBreakpoint* value) { next_ = value; }
58 SourceBreakpoint* next() const { return this->next_; } 61 SourceBreakpoint* next() const { return this->next_; }
59 62
60 const intptr_t id_; 63 const intptr_t id_;
61 RawScript* script_; 64 RawScript* script_;
62 intptr_t token_pos_; 65 intptr_t token_pos_;
63 intptr_t end_token_pos_; 66 intptr_t end_token_pos_;
64 bool is_resolved_; 67 bool is_resolved_;
65 bool is_enabled_; 68 bool is_enabled_;
69 bool is_one_shot_;
66 SourceBreakpoint* next_; 70 SourceBreakpoint* next_;
67 71
68 // Valid for resolved breakpoints: 72 // Valid for resolved breakpoints:
69 RawFunction* function_; 73 RawFunction* function_;
70 intptr_t line_number_; 74 intptr_t line_number_;
71 75
72 friend class Debugger; 76 friend class Debugger;
73 DISALLOW_COPY_AND_ASSIGN(SourceBreakpoint); 77 DISALLOW_COPY_AND_ASSIGN(SourceBreakpoint);
74 }; 78 };
75 79
(...skipping 370 matching lines...) Expand 10 before | Expand all | Expand 10 after
446 intptr_t start_pos, 450 intptr_t start_pos,
447 intptr_t end_pos, 451 intptr_t end_pos,
448 GrowableObjectArray* function_list); 452 GrowableObjectArray* function_list);
449 RawFunction* FindBestFit(const Script& script, intptr_t token_pos); 453 RawFunction* FindBestFit(const Script& script, intptr_t token_pos);
450 RawFunction* FindInnermostClosure(const Function& function, 454 RawFunction* FindInnermostClosure(const Function& function,
451 intptr_t token_pos); 455 intptr_t token_pos);
452 intptr_t ResolveBreakpointPos(const Function& func, 456 intptr_t ResolveBreakpointPos(const Function& func,
453 intptr_t requested_token_pos, 457 intptr_t requested_token_pos,
454 intptr_t last_token_pos); 458 intptr_t last_token_pos);
455 void DeoptimizeWorld(); 459 void DeoptimizeWorld();
456 RawError* SetInternalBreakpoints(const Function& target_function);
457 SourceBreakpoint* SetBreakpoint(const Script& script, 460 SourceBreakpoint* SetBreakpoint(const Script& script,
458 intptr_t token_pos, 461 intptr_t token_pos,
459 intptr_t last_token_pos); 462 intptr_t last_token_pos);
460 void RemoveInternalBreakpoints(); 463 void RemoveInternalBreakpoints();
461 void UnlinkCodeBreakpoints(SourceBreakpoint* src_bpt); 464 void UnlinkCodeBreakpoints(SourceBreakpoint* src_bpt);
462 void RegisterSourceBreakpoint(SourceBreakpoint* bpt); 465 void RegisterSourceBreakpoint(SourceBreakpoint* bpt);
463 void RegisterCodeBreakpoint(CodeBreakpoint* bpt); 466 void RegisterCodeBreakpoint(CodeBreakpoint* bpt);
464 SourceBreakpoint* GetSourceBreakpoint(const Script& script, 467 SourceBreakpoint* GetSourceBreakpoint(const Script& script,
465 intptr_t token_pos); 468 intptr_t token_pos);
466 void MakeCodeBreakpointAt(const Function& func, 469 void MakeCodeBreakpointAt(const Function& func,
(...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after
543 546
544 friend class Isolate; 547 friend class Isolate;
545 friend class SourceBreakpoint; 548 friend class SourceBreakpoint;
546 DISALLOW_COPY_AND_ASSIGN(Debugger); 549 DISALLOW_COPY_AND_ASSIGN(Debugger);
547 }; 550 };
548 551
549 552
550 } // namespace dart 553 } // namespace dart
551 554
552 #endif // VM_DEBUGGER_H_ 555 #endif // VM_DEBUGGER_H_
OLDNEW
« no previous file with comments | « no previous file | runtime/vm/debugger.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698