Index: runtime/vm/isolate.cc |
diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc |
index a9dffb2bd520b2c01b0c17febc0021f46890201f..e84906da1b6e89b0edeed826418051b89df82f8c 100644 |
--- a/runtime/vm/isolate.cc |
+++ b/runtime/vm/isolate.cc |
@@ -445,9 +445,11 @@ MessageHandler::MessageStatus IsolateMessageHandler::HandleMessage( |
StackZone stack_zone(thread); |
Zone* zone = stack_zone.GetZone(); |
HandleScope handle_scope(thread); |
+#ifndef PRODUCT |
TimelineDurationScope tds(thread, I->GetIsolateStream(), "HandleMessage"); |
tds.SetNumArguments(1); |
tds.CopyArgument(0, "isolateName", I->name()); |
+#endif |
// If the message is in band we lookup the handler to dispatch to. If the |
// receive port was closed, we drop the message without deserializing it. |
@@ -884,6 +886,7 @@ Isolate* Isolate::Init(const char* name_prefix, |
ISOLATE_METRIC_LIST(ISOLATE_METRIC_INIT); |
#undef ISOLATE_METRIC_INIT |
+#ifndef PRODUCT |
// Initialize Timeline streams. |
#define ISOLATE_TIMELINE_STREAM_INIT(name, enabled_by_default) \ |
result->stream_##name##_.Init(#name, \ |
@@ -891,6 +894,7 @@ Isolate* Isolate::Init(const char* name_prefix, |
Timeline::Stream##name##EnabledFlag()); |
ISOLATE_TIMELINE_STREAM_LIST(ISOLATE_TIMELINE_STREAM_INIT); |
#undef ISOLATE_TIMELINE_STREAM_INIT |
+#endif // !PRODUCT |
Heap::Init(result, |
is_vm_isolate |
@@ -1098,13 +1102,17 @@ bool Isolate::MakeRunnable() { |
ASSERT(this == state->isolate()); |
Run(); |
} |
- TimelineStream* stream = GetIsolateStream(); |
- ASSERT(stream != NULL); |
- TimelineEvent* event = stream->StartEvent(); |
- if (event != NULL) { |
- event->Instant("Runnable"); |
- event->Complete(); |
+#ifndef PRODUCT |
+ if (FLAG_support_timeline) { |
+ TimelineStream* stream = GetIsolateStream(); |
+ ASSERT(stream != NULL); |
+ TimelineEvent* event = stream->StartEvent(); |
+ if (event != NULL) { |
+ event->Instant("Runnable"); |
+ event->Complete(); |
+ } |
} |
+#endif // !PRODUCT |
if (FLAG_support_service && Service::isolate_stream.enabled()) { |
ServiceEvent runnableEvent(this, ServiceEvent::kIsolateRunnable); |
Service::HandleEvent(&runnableEvent); |
@@ -1609,15 +1617,19 @@ void Isolate::LowLevelShutdown() { |
// Fail fast if anybody tries to post any more messsages to this isolate. |
delete message_handler(); |
set_message_handler(NULL); |
- |
- // Before analyzing the isolate's timeline blocks- reclaim all cached blocks. |
- Timeline::ReclaimCachedBlocksFromThreads(); |
+ if (FLAG_support_timeline) { |
+ // Before analyzing the isolate's timeline blocks- reclaim all cached |
+ // blocks. |
+ Timeline::ReclaimCachedBlocksFromThreads(); |
+ } |
// Dump all timing data for the isolate. |
- if (FLAG_timing) { |
+#ifndef PRODUCT |
+ if (FLAG_support_timeline && FLAG_timing) { |
TimelinePauseTrace tpt; |
tpt.Print(); |
} |
+#endif // !PRODUCT |
// Finalize any weak persistent handles with a non-null referent. |
FinalizeWeakPersistentHandlesVisitor visitor; |