| Index: runtime/vm/isolate.cc
|
| diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc
|
| index 9825341b4d3460dde8b9efe5e0ed59308dea2938..690b1722c9ad5f03c4a6fc5295d27c5c61ee0b88 100644
|
| --- a/runtime/vm/isolate.cc
|
| +++ b/runtime/vm/isolate.cc
|
| @@ -44,6 +44,8 @@
|
|
|
| namespace dart {
|
|
|
| +DECLARE_FLAG(charp, timeline_trace_dir);
|
| +
|
| DEFINE_FLAG(bool, trace_isolates, false,
|
| "Trace isolate creation and shut down.");
|
| DEFINE_FLAG(bool, pause_isolates_on_start, false,
|
| @@ -57,9 +59,6 @@ DEFINE_FLAG(charp, isolate_log_filter, NULL,
|
| "Log isolates whose name include the filter. "
|
| "Default: service isolate log messages are suppressed.");
|
|
|
| -DEFINE_FLAG(charp, timeline_trace_dir, NULL,
|
| - "Enable all timeline trace streams and output traces "
|
| - "into specified directory.");
|
| DEFINE_FLAG(int, new_gen_semi_max_size, (kWordSize <= 4) ? 16 : 32,
|
| "Max size of new gen semi space in MB");
|
| DEFINE_FLAG(int, old_gen_heap_size, 0,
|
| @@ -384,6 +383,8 @@ bool IsolateMessageHandler::HandleMessage(Message* message) {
|
| StackZone zone(I);
|
| HandleScope handle_scope(I);
|
| TimelineDurationScope tds(I, I->GetIsolateStream(), "HandleMessage");
|
| + tds.SetNumArguments(1);
|
| + tds.CopyArgument(0, "isolateName", I->name());
|
|
|
| // TODO(turnidge): Rework collection total dart execution. This can
|
| // overcount when other things (gc, compilation) are active.
|
| @@ -686,7 +687,6 @@ Isolate::Isolate(const Dart_IsolateFlags& api_flags)
|
| last_allocationprofile_gc_timestamp_(0),
|
| object_id_ring_(NULL),
|
| trace_buffer_(NULL),
|
| - timeline_event_recorder_(NULL),
|
| profiler_data_(NULL),
|
| tag_table_(GrowableObjectArray::null()),
|
| current_tag_(UserTag::null()),
|
| @@ -736,7 +736,6 @@ Isolate::~Isolate() {
|
| delete compiler_stats_;
|
| compiler_stats_ = NULL;
|
| }
|
| - RemoveTimelineEventRecorder();
|
| delete thread_registry_;
|
| }
|
|
|
| @@ -767,11 +766,11 @@ Isolate* Isolate::Init(const char* name_prefix,
|
| ISOLATE_METRIC_LIST(ISOLATE_METRIC_INIT);
|
| #undef ISOLATE_METRIC_INIT
|
|
|
| - const bool force_streams = FLAG_timeline_trace_dir != NULL;
|
| -
|
| // Initialize Timeline streams.
|
| #define ISOLATE_TIMELINE_STREAM_INIT(name, enabled_by_default) \
|
| - result->stream_##name##_.Init(#name, force_streams || enabled_by_default);
|
| + result->stream_##name##_.Init(#name, \
|
| + Timeline::EnableStreamByDefault(#name) || \
|
| + enabled_by_default);
|
| ISOLATE_TIMELINE_STREAM_LIST(ISOLATE_TIMELINE_STREAM_INIT);
|
| #undef ISOLATE_TIMELINE_STREAM_INIT
|
|
|
| @@ -1476,11 +1475,6 @@ void Isolate::Shutdown() {
|
|
|
| // Write out the coverage data if collection has been enabled.
|
| CodeCoverage::Write(this);
|
| -
|
| - if ((timeline_event_recorder_ != NULL) &&
|
| - (FLAG_timeline_trace_dir != NULL)) {
|
| - timeline_event_recorder_->WriteTo(FLAG_timeline_trace_dir);
|
| - }
|
| }
|
|
|
| // Remove this isolate from the list *before* we start tearing it down, to
|
| @@ -1651,21 +1645,6 @@ void Isolate::VisitPrologueWeakPersistentHandles(HandleVisitor* visitor) {
|
| }
|
|
|
|
|
| -void Isolate::SetTimelineEventRecorder(
|
| - TimelineEventRecorder* timeline_event_recorder) {
|
| -#define ISOLATE_TIMELINE_STREAM_SET_BUFFER(name, enabled_by_default) \
|
| - stream_##name##_.set_recorder(timeline_event_recorder);
|
| - ISOLATE_TIMELINE_STREAM_LIST(ISOLATE_TIMELINE_STREAM_SET_BUFFER)
|
| -#undef ISOLATE_TIMELINE_STREAM_SET_BUFFER
|
| - timeline_event_recorder_ = timeline_event_recorder;
|
| -}
|
| -
|
| -void Isolate::RemoveTimelineEventRecorder() {
|
| - SetTimelineEventRecorder(NULL);
|
| - delete timeline_event_recorder_;
|
| -}
|
| -
|
| -
|
| void Isolate::PrintJSON(JSONStream* stream, bool ref) {
|
| JSONObject jsobj(stream);
|
| jsobj.AddProperty("type", (ref ? "@Isolate" : "Isolate"));
|
|
|