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

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

Issue 1192103004: VM: New calling convention for generated code. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 6 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 #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 160 matching lines...) Expand 10 before | Expand all | Expand 10 after
171 bool IsInternal() const { return bpt_location_ == NULL; } 171 bool IsInternal() const { return bpt_location_ == NULL; }
172 172
173 RawScript* SourceCode(); 173 RawScript* SourceCode();
174 RawString* SourceUrl(); 174 RawString* SourceUrl();
175 intptr_t LineNumber(); 175 intptr_t LineNumber();
176 176
177 void Enable(); 177 void Enable();
178 void Disable(); 178 void Disable();
179 bool IsEnabled() const { return is_enabled_; } 179 bool IsEnabled() const { return is_enabled_; }
180 180
181 uword OrigStubAddress() const; 181 RawCode* OrigStubAddress() const;
182 182
183 private: 183 private:
184 void VisitObjectPointers(ObjectPointerVisitor* visitor); 184 void VisitObjectPointers(ObjectPointerVisitor* visitor);
185 185
186 BreakpointLocation* bpt_location() const { return bpt_location_; } 186 BreakpointLocation* bpt_location() const { return bpt_location_; }
187 void set_bpt_location(BreakpointLocation* value) { bpt_location_ = value; } 187 void set_bpt_location(BreakpointLocation* value) { bpt_location_ = value; }
188 188
189 void set_next(CodeBreakpoint* value) { next_ = value; } 189 void set_next(CodeBreakpoint* value) { next_ = value; }
190 CodeBreakpoint* next() const { return this->next_; } 190 CodeBreakpoint* next() const { return this->next_; }
191 191
192 void PatchCode(); 192 void PatchCode();
193 void RestoreCode(); 193 void RestoreCode();
194 194
195 RawCode* code_; 195 RawCode* code_;
196 intptr_t token_pos_; 196 intptr_t token_pos_;
197 uword pc_; 197 uword pc_;
198 intptr_t line_number_; 198 intptr_t line_number_;
199 bool is_enabled_; 199 bool is_enabled_;
200 200
201 BreakpointLocation* bpt_location_; 201 BreakpointLocation* bpt_location_;
202 CodeBreakpoint* next_; 202 CodeBreakpoint* next_;
203 203
204 RawPcDescriptors::Kind breakpoint_kind_; 204 RawPcDescriptors::Kind breakpoint_kind_;
205 uword saved_value_; 205 RawCode* saved_value_;
206 206
207 friend class Debugger; 207 friend class Debugger;
208 DISALLOW_COPY_AND_ASSIGN(CodeBreakpoint); 208 DISALLOW_COPY_AND_ASSIGN(CodeBreakpoint);
209 }; 209 };
210 210
211 211
212 // ActivationFrame represents one dart function activation frame 212 // ActivationFrame represents one dart function activation frame
213 // on the call stack. 213 // on the call stack.
214 class ActivationFrame : public ZoneAllocated { 214 class ActivationFrame : public ZoneAllocated {
215 public: 215 public:
(...skipping 290 matching lines...) Expand 10 before | Expand all | Expand 10 after
506 506
507 void SignalBpReached(); 507 void SignalBpReached();
508 void DebuggerStepCallback(); 508 void DebuggerStepCallback();
509 509
510 void BreakHere(const String& msg); 510 void BreakHere(const String& msg);
511 511
512 void SignalExceptionThrown(const Instance& exc); 512 void SignalExceptionThrown(const Instance& exc);
513 void SignalIsolateEvent(DebuggerEvent::EventType type); 513 void SignalIsolateEvent(DebuggerEvent::EventType type);
514 static void SignalIsolateInterrupted(); 514 static void SignalIsolateInterrupted();
515 515
516 uword GetPatchedStubAddress(uword breakpoint_address); 516 RawCode* GetPatchedStubAddress(uword breakpoint_address);
517 517
518 void PrintBreakpointsToJSONArray(JSONArray* jsarr) const; 518 void PrintBreakpointsToJSONArray(JSONArray* jsarr) const;
519 void PrintSettingsToJSONObject(JSONObject* jsobj) const; 519 void PrintSettingsToJSONObject(JSONObject* jsobj) const;
520 520
521 static bool IsDebuggable(const Function& func); 521 static bool IsDebuggable(const Function& func);
522 522
523 private: 523 private:
524 enum ResumeAction { 524 enum ResumeAction {
525 kContinue, 525 kContinue,
526 kStepOver, 526 kStepOver,
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
632 632
633 friend class Isolate; 633 friend class Isolate;
634 friend class BreakpointLocation; 634 friend class BreakpointLocation;
635 DISALLOW_COPY_AND_ASSIGN(Debugger); 635 DISALLOW_COPY_AND_ASSIGN(Debugger);
636 }; 636 };
637 637
638 638
639 } // namespace dart 639 } // namespace dart
640 640
641 #endif // VM_DEBUGGER_H_ 641 #endif // VM_DEBUGGER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698