Index: runtime/vm/isolate.h |
diff --git a/runtime/vm/isolate.h b/runtime/vm/isolate.h |
index a3758a2ec19664cb362eefbf8f9c9506d9516767..204bdcaceca3fab175dad5445fbc426a0c0f53a0 100644 |
--- a/runtime/vm/isolate.h |
+++ b/runtime/vm/isolate.h |
@@ -18,8 +18,9 @@ |
#include "vm/tags.h" |
#include "vm/thread.h" |
#include "vm/os_thread.h" |
-#include "vm/trace_buffer.h" |
+#include "vm/timeline.h" |
#include "vm/timer.h" |
+#include "vm/trace_buffer.h" |
namespace dart { |
@@ -555,6 +556,14 @@ class Isolate : public BaseIsolate { |
return trace_buffer_; |
} |
+ void SetTimelineEventBuffer(TimelineEventBuffer* timeline_event_buffer); |
+ |
+ TimelineEventBuffer* timeline_event_buffer() const { |
+ return timeline_event_buffer_; |
+ } |
+ |
+ void RemoveTimelineEventBuffer(); |
+ |
DeoptContext* deopt_context() const { return deopt_context_; } |
void set_deopt_context(DeoptContext* value) { |
ASSERT(value == NULL || deopt_context_ == NULL); |
@@ -654,6 +663,11 @@ class Isolate : public BaseIsolate { |
ISOLATE_METRIC_LIST(ISOLATE_METRIC_ACCESSOR); |
#undef ISOLATE_METRIC_ACCESSOR |
+#define ISOLATE_TIMELINE_STREAM_ACCESSOR(name, enabled_by_default) \ |
+ TimelineStream* Get##name##Stream() { return &stream_##name##_; } |
+ ISOLATE_TIMELINE_STREAM_LIST(ISOLATE_TIMELINE_STREAM_ACCESSOR) |
+#undef ISOLATE_TIMELINE_STREAM_ACCESSOR |
+ |
static intptr_t IsolateListLength(); |
RawGrowableObjectArray* tag_table() const { return tag_table_; } |
@@ -790,6 +804,9 @@ class Isolate : public BaseIsolate { |
// Trace buffer support. |
TraceBuffer* trace_buffer_; |
+ // TimelineEvent buffer. |
+ TimelineEventBuffer* timeline_event_buffer_; |
+ |
IsolateProfilerData* profiler_data_; |
Mutex profiler_data_mutex_; |
InterruptableThreadState* thread_state_; |
@@ -832,6 +849,11 @@ class Isolate : public BaseIsolate { |
ISOLATE_METRIC_LIST(ISOLATE_METRIC_VARIABLE); |
#undef ISOLATE_METRIC_VARIABLE |
+#define ISOLATE_TIMELINE_STREAM_VARIABLE(name, enabled_by_default) \ |
+ TimelineStream stream_##name##_; |
+ ISOLATE_TIMELINE_STREAM_LIST(ISOLATE_TIMELINE_STREAM_VARIABLE) |
+#undef ISOLATE_TIMELINE_STREAM_VARIABLE |
+ |
VMHandles reusable_handles_; |
static Dart_IsolateCreateCallback create_callback_; |