| 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
|
|
|