| Index: runtime/vm/service_event.cc
|
| diff --git a/runtime/vm/service_event.cc b/runtime/vm/service_event.cc
|
| index 3dfe66b793cf4506d68579b4ff25a93125bc5427..c1be69047f8ce418d0ac75e603eef32c2fb38fd6 100644
|
| --- a/runtime/vm/service_event.cc
|
| +++ b/runtime/vm/service_event.cc
|
| @@ -36,7 +36,8 @@ ServiceEvent::ServiceEvent(const DebuggerEvent* debugger_event)
|
| type_(TranslateEventType(debugger_event->type())),
|
| breakpoint_(NULL),
|
| top_frame_(NULL),
|
| - exception_(NULL) {
|
| + exception_(NULL),
|
| + gc_stats_(NULL) {
|
| DebuggerEvent::EventType type = debugger_event->type();
|
| if (type == DebuggerEvent::kBreakpointReached) {
|
| set_breakpoint(debugger_event->breakpoint());
|
| @@ -78,6 +79,8 @@ const char* ServiceEvent::EventTypeToCString(EventType type) {
|
| return "BreakpointResolved";
|
| case kBreakpointRemoved:
|
| return "BreakpointRemoved";
|
| + case kGC:
|
| + return "GC"; // TODO(koda): Change to GarbageCollected.
|
| default:
|
| UNREACHABLE();
|
| return "Unknown";
|
| @@ -100,6 +103,11 @@ void ServiceEvent::PrintJSON(JSONStream* js) const {
|
| if (exception() != NULL) {
|
| jsobj.AddProperty("exception", *(exception()));
|
| }
|
| + if (gc_stats() != NULL) {
|
| + jsobj.AddProperty("reason", Heap::GCReasonToString(gc_stats()->reason_));
|
| + isolate()->heap()->PrintToJSONObject(Heap::kNew, &jsobj);
|
| + isolate()->heap()->PrintToJSONObject(Heap::kOld, &jsobj);
|
| + }
|
| }
|
|
|
| } // namespace dart
|
|
|