Index: runtime/vm/isolate.cc |
diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc |
index bd26039f1e8b524f271d2dc1c6a53b41cff88847..9dfb0522a20aea1ace535873464bd7d839a92b74 100644 |
--- a/runtime/vm/isolate.cc |
+++ b/runtime/vm/isolate.cc |
@@ -55,6 +55,7 @@ DECLARE_FLAG(bool, timing); |
DECLARE_FLAG(bool, trace_service); |
DECLARE_FLAG(bool, trace_reload); |
DECLARE_FLAG(bool, warn_on_pause_with_no_debugger); |
+DECLARE_FLAG(bool, check_reloaded); |
NOT_IN_PRODUCT( |
static void CheckedModeHandler(bool value) { |
@@ -1693,6 +1694,15 @@ void Isolate::Shutdown() { |
} |
} |
+ if (FLAG_check_reloaded && |
+ !ServiceIsolate::IsServiceIsolateDescendant(this)) { |
+ if (!HasAttemptedReload()) { |
+ OS::PrintErr("Isolate did not reload before exiting and " |
rmacnak
2016/07/01 20:53:22
FATAL("...")
Cutch
2016/07/01 21:26:40
Done.
|
+ "--check-reloaded is enabled.\n"); |
+ UNREACHABLE(); |
+ } |
+ } |
+ |
// Then, proceed with low-level teardown. |
LowLevelShutdown(); |