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

Unified Diff: runtime/vm/debugger.h

Issue 1241673003: Async-step, first cut. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 5 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/observatory/tests/service/test_helper.dart ('k') | runtime/vm/debugger.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/debugger.h
diff --git a/runtime/vm/debugger.h b/runtime/vm/debugger.h
index 2a25220be3410fd5a89bf07c1bc9f8840132bb95..faaf558ff6d492014a788a0365e2515b1d98d355 100644
--- a/runtime/vm/debugger.h
+++ b/runtime/vm/debugger.h
@@ -261,6 +261,7 @@ class ActivationFrame : public ZoneAllocated {
RawObject* GetReceiver();
const Context& GetSavedCurrentContext();
+ RawObject* GetAsyncOperation();
RawObject* Evaluate(const String& expr);
@@ -270,8 +271,7 @@ class ActivationFrame : public ZoneAllocated {
void PrintToJSONObject(JSONObject* jsobj, bool full = false);
private:
- void PrintContextMismatchError(const String& var_name,
- intptr_t ctx_slot,
+ void PrintContextMismatchError(intptr_t ctx_slot,
intptr_t frame_ctx_level,
intptr_t var_ctx_level);
@@ -280,8 +280,8 @@ class ActivationFrame : public ZoneAllocated {
void GetVarDescriptors();
void GetDescIndices();
- RawObject* GetLocalVar(intptr_t slot_index);
- RawInstance* GetLocalInstanceVar(intptr_t slot_index);
+ RawObject* GetStackVar(intptr_t slot_index);
+ RawObject* GetContextVar(intptr_t ctxt_level, intptr_t slot_index);
uword pc_;
uword fp_;
@@ -353,7 +353,8 @@ class DebuggerEvent {
type_(event_type),
top_frame_(NULL),
breakpoint_(NULL),
- exception_(NULL) {}
+ exception_(NULL),
+ async_continuation_(NULL) {}
Isolate* isolate() const { return isolate_; }
@@ -392,6 +393,15 @@ class DebuggerEvent {
exception_ = exception;
}
+ const Object* async_continuation() const {
+ ASSERT(type_ == kBreakpointReached);
+ return async_continuation_;
+ }
+ void set_async_continuation(const Object* closure) {
+ ASSERT(type_ == kBreakpointReached);
+ async_continuation_ = closure;
+ }
+
Dart_Port isolate_id() const {
return isolate_->main_port();
}
@@ -402,6 +412,7 @@ class DebuggerEvent {
ActivationFrame* top_frame_;
Breakpoint* breakpoint_;
const Object* exception_;
+ const Object* async_continuation_;
};
« no previous file with comments | « runtime/observatory/tests/service/test_helper.dart ('k') | runtime/vm/debugger.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698