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

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

Issue 1299083002: Automagically change the meaning of 'next' to 'async-next' when paused at an async function at awai… (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 5 years, 4 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
« no previous file with comments | « runtime/vm/service_event.h ('k') | no next file » | 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) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, 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/service_event.h" 5 #include "vm/service_event.h"
6 6
7 namespace dart { 7 namespace dart {
8 8
9 // Translate from the legacy DebugEvent to a ServiceEvent. 9 // Translate from the legacy DebugEvent to a ServiceEvent.
10 static ServiceEvent::EventKind TranslateEventKind( 10 static ServiceEvent::EventKind TranslateEventKind(
(...skipping 27 matching lines...) Expand all
38 exception_(NULL), 38 exception_(NULL),
39 async_continuation_(NULL), 39 async_continuation_(NULL),
40 inspectee_(NULL), 40 inspectee_(NULL),
41 gc_stats_(NULL), 41 gc_stats_(NULL),
42 bytes_(NULL), 42 bytes_(NULL),
43 bytes_length_(0) { 43 bytes_length_(0) {
44 DebuggerEvent::EventType type = debugger_event->type(); 44 DebuggerEvent::EventType type = debugger_event->type();
45 if (type == DebuggerEvent::kBreakpointReached) { 45 if (type == DebuggerEvent::kBreakpointReached) {
46 set_breakpoint(debugger_event->breakpoint()); 46 set_breakpoint(debugger_event->breakpoint());
47 set_async_continuation(debugger_event->async_continuation()); 47 set_async_continuation(debugger_event->async_continuation());
48 set_at_async_jump(debugger_event->at_async_jump());
48 } 49 }
49 if (type == DebuggerEvent::kExceptionThrown) { 50 if (type == DebuggerEvent::kExceptionThrown) {
50 set_exception(debugger_event->exception()); 51 set_exception(debugger_event->exception());
51 } 52 }
52 if (type == DebuggerEvent::kBreakpointReached || 53 if (type == DebuggerEvent::kBreakpointReached ||
53 type == DebuggerEvent::kIsolateInterrupted || 54 type == DebuggerEvent::kIsolateInterrupted ||
54 type == DebuggerEvent::kExceptionThrown) { 55 type == DebuggerEvent::kExceptionThrown) {
55 set_top_frame(debugger_event->top_frame()); 56 set_top_frame(debugger_event->top_frame());
56 } 57 }
57 } 58 }
(...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 JSONObject jsFrame(&jsobj, "topFrame"); 162 JSONObject jsFrame(&jsobj, "topFrame");
162 top_frame()->PrintToJSONObject(&jsFrame); 163 top_frame()->PrintToJSONObject(&jsFrame);
163 intptr_t index = 0; // Avoid ambiguity in call to AddProperty. 164 intptr_t index = 0; // Avoid ambiguity in call to AddProperty.
164 jsFrame.AddProperty("index", index); 165 jsFrame.AddProperty("index", index);
165 } 166 }
166 if (exception() != NULL) { 167 if (exception() != NULL) {
167 jsobj.AddProperty("exception", *(exception())); 168 jsobj.AddProperty("exception", *(exception()));
168 } 169 }
169 if (async_continuation() != NULL && !async_continuation()->IsNull()) { 170 if (async_continuation() != NULL && !async_continuation()->IsNull()) {
170 jsobj.AddProperty("_asyncContinuation", *(async_continuation())); 171 jsobj.AddProperty("_asyncContinuation", *(async_continuation()));
172 jsobj.AddProperty("_atAsyncJump", at_async_jump());
171 } 173 }
172 if (inspectee() != NULL) { 174 if (inspectee() != NULL) {
173 jsobj.AddProperty("inspectee", *(inspectee())); 175 jsobj.AddProperty("inspectee", *(inspectee()));
174 } 176 }
175 if (gc_stats() != NULL) { 177 if (gc_stats() != NULL) {
176 jsobj.AddProperty("reason", Heap::GCReasonToString(gc_stats()->reason_)); 178 jsobj.AddProperty("reason", Heap::GCReasonToString(gc_stats()->reason_));
177 isolate()->heap()->PrintToJSONObject(Heap::kNew, &jsobj); 179 isolate()->heap()->PrintToJSONObject(Heap::kNew, &jsobj);
178 isolate()->heap()->PrintToJSONObject(Heap::kOld, &jsobj); 180 isolate()->heap()->PrintToJSONObject(Heap::kOld, &jsobj);
179 } 181 }
180 if (bytes() != NULL) { 182 if (bytes() != NULL) {
(...skipping 14 matching lines...) Expand all
195 197
196 198
197 void ServiceEvent::PrintJSONHeader(JSONObject* jsobj) const { 199 void ServiceEvent::PrintJSONHeader(JSONObject* jsobj) const {
198 ASSERT(jsobj != NULL); 200 ASSERT(jsobj != NULL);
199 jsobj->AddProperty("type", "Event"); 201 jsobj->AddProperty("type", "Event");
200 jsobj->AddProperty("kind", KindAsCString()); 202 jsobj->AddProperty("kind", KindAsCString());
201 jsobj->AddProperty("isolate", isolate()); 203 jsobj->AddProperty("isolate", isolate());
202 } 204 }
203 205
204 } // namespace dart 206 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/service_event.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698