Index: runtime/vm/dart.cc |
diff --git a/runtime/vm/dart.cc b/runtime/vm/dart.cc |
index a538db2b7839bf464057b5db7a1b04e726b1f9a3..4553d1b5f9e483e93de952100bcda410fe1d6e92 100644 |
--- a/runtime/vm/dart.cc |
+++ b/runtime/vm/dart.cc |
@@ -150,7 +150,10 @@ char* Dart::InitOnce(const uint8_t* vm_isolate_snapshot, |
ForwardingCorpse::InitOnce(); |
Api::InitOnce(); |
NOT_IN_PRODUCT(CodeObservers::InitOnce()); |
- NOT_IN_PRODUCT(Profiler::InitOnce()); |
+ if (FLAG_profiler) { |
+ ThreadInterrupter::InitOnce(); |
+ Profiler::InitOnce(); |
+ } |
SemiSpace::InitOnce(); |
NOT_IN_PRODUCT(Metric::InitOnce()); |
StoreBuffer::InitOnce(); |
@@ -351,13 +354,14 @@ const char* Dart::Cleanup() { |
UptimeMillis()); |
} |
-#if !defined(PRODUCT) |
- if (FLAG_trace_shutdown) { |
- OS::PrintErr("[+%" Pd64 "ms] SHUTDOWN: Shutting down profiling\n", |
- UptimeMillis()); |
+ if (FLAG_profiler) { |
+ // Shut down profiling. |
+ if (FLAG_trace_shutdown) { |
+ OS::PrintErr("[+%" Pd64 "ms] SHUTDOWN: Shutting down profiling\n", |
+ UptimeMillis()); |
+ } |
+ Profiler::Shutdown(); |
} |
- Profiler::Shutdown(); |
-#endif // !defined(PRODUCT) |
{ |
// Set the VM isolate as current isolate when shutting down |