Index: runtime/vm/isolate.cc |
diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc |
index 9381e1f74b1cb9c29907c14d357c67c92064d5fe..d26bc1b4c173c5e287520ddbfbaab39ca23cd978 100644 |
--- a/runtime/vm/isolate.cc |
+++ b/runtime/vm/isolate.cc |
@@ -57,10 +57,12 @@ DECLARE_FLAG(bool, trace_service); |
DECLARE_FLAG(bool, warn_on_pause_with_no_debugger); |
// Reload flags. |
-DECLARE_FLAG(bool, check_reloaded); |
DECLARE_FLAG(int, reload_every); |
+#if !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME) |
+DECLARE_FLAG(bool, check_reloaded); |
DECLARE_FLAG(bool, reload_every_back_off); |
DECLARE_FLAG(bool, trace_reload); |
+#endif // !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME) |
#if !defined(PRODUCT) |
static void CheckedModeHandler(bool value) { |
@@ -144,29 +146,29 @@ NoOOBMessageScope::~NoOOBMessageScope() { |
NoReloadScope::NoReloadScope(Isolate* isolate, Thread* thread) |
: StackResource(thread), isolate_(isolate) { |
-#if !defined(PRODUCT) |
+#if !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME) |
ASSERT(isolate_ != NULL); |
AtomicOperations::FetchAndIncrement(&(isolate_->no_reload_scope_depth_)); |
ASSERT(AtomicOperations::LoadRelaxed(&(isolate_->no_reload_scope_depth_)) >= |
0); |
-#endif // !defined(PRODUCT) |
+#endif // !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME) |
} |
NoReloadScope::~NoReloadScope() { |
-#if !defined(PRODUCT) |
+#if !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME) |
AtomicOperations::FetchAndDecrement(&(isolate_->no_reload_scope_depth_)); |
ASSERT(AtomicOperations::LoadRelaxed(&(isolate_->no_reload_scope_depth_)) >= |
0); |
-#endif // !defined(PRODUCT) |
+#endif // !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME) |
} |
void Isolate::RegisterClass(const Class& cls) { |
-#if !defined(PRODUCT) |
+#if !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME) |
if (IsReloading()) { |
reload_context()->RegisterClass(cls); |
return; |
} |
-#endif // !defined(PRODUCT) |
+#endif // !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME) |
class_table()->Register(cls); |
} |
@@ -1048,7 +1050,7 @@ void Isolate::DoneLoading() { |
TokenStream::CloseSharedTokenList(this); |
} |
-#if !defined(PRODUCT) |
+#if !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME) |
bool Isolate::CanReload() const { |
return !ServiceIsolate::IsServiceIsolateDescendant(this) && is_runnable() && |
!IsReloading() && |
@@ -1080,14 +1082,14 @@ void Isolate::DeleteReloadContext() { |
delete reload_context_; |
reload_context_ = NULL; |
} |
-#endif // !defined(PRODUCT) |
+#endif // !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME) |
void Isolate::DoneFinalizing() { |
-#if !defined(PRODUCT) |
+#if !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME) |
if (IsReloading()) { |
reload_context_->FinalizeLoading(); |
} |
-#endif // !defined(PRODUCT) |
+#endif // !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME) |
} |
bool Isolate::MakeRunnable() { |
@@ -1468,7 +1470,7 @@ static void ShutdownIsolate(uword parameter) { |
VerifyCanonicalVisitor check_canonical(thread); |
iteration.IterateObjects(&check_canonical); |
} |
-#endif // DEBUG |
+#endif // defined(DEBUG) && !defined(DART_PRECOMPILED_RUNTIME) |
const Error& error = Error::Handle(thread->sticky_error()); |
if (!error.IsNull() && !error.IsUnwindError()) { |
OS::PrintErr("in ShutdownIsolate: %s\n", error.ToErrorCString()); |
@@ -1637,7 +1639,7 @@ void Isolate::StopBackgroundCompiler() { |
} |
} |
-#if !defined(PRODUCT) |
+#if !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME) |
void Isolate::MaybeIncreaseReloadEveryNStackOverflowChecks() { |
if (FLAG_reload_every_back_off) { |
if (reload_every_n_stack_overflow_checks_ < 5000) { |
@@ -1651,7 +1653,7 @@ void Isolate::MaybeIncreaseReloadEveryNStackOverflowChecks() { |
} |
} |
} |
-#endif // !defined(PRODUCT) |
+#endif // !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME) |
void Isolate::Shutdown() { |
ASSERT(this == Isolate::Current()); |
@@ -1697,7 +1699,7 @@ void Isolate::Shutdown() { |
} |
} |
-#if !defined(PRODUCT) |
+#if !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME) |
if (FLAG_check_reloaded && is_runnable() && (this != Dart::vm_isolate()) && |
!ServiceIsolate::IsServiceIsolateDescendant(this)) { |
if (!HasAttemptedReload()) { |
@@ -1706,7 +1708,7 @@ void Isolate::Shutdown() { |
"--check-reloaded is enabled.\n"); |
} |
} |
-#endif // !defined(PRODUCT) |
+#endif // !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME) |
// Then, proceed with low-level teardown. |
LowLevelShutdown(); |
@@ -1794,11 +1796,12 @@ void Isolate::VisitObjectPointers(ObjectPointerVisitor* visitor, |
#if !defined(PRODUCT) |
// Visit objects in the debugger. |
debugger()->VisitObjectPointers(visitor); |
- |
+#if !defined(DART_PRECOMPILED_RUNTIME) |
// Visit objects that are being used for isolate reload. |
if (reload_context() != NULL) { |
reload_context()->VisitObjectPointers(visitor); |
} |
+#endif // !defined(DART_PRECOMPILED_RUNTIME) |
if (ServiceIsolate::IsServiceIsolate(this)) { |
ServiceIsolate::VisitObjectPointers(visitor); |
} |
@@ -1809,7 +1812,7 @@ void Isolate::VisitObjectPointers(ObjectPointerVisitor* visitor, |
if (deopt_context() != NULL) { |
deopt_context()->VisitObjectPointers(visitor); |
} |
-#endif |
+#endif // !defined(DART_PRECOMPILED_RUNTIME) |
VisitStackPointers(visitor, validate_frames); |
} |
@@ -1832,7 +1835,7 @@ void Isolate::PrepareForGC() { |
RawClass* Isolate::GetClassForHeapWalkAt(intptr_t cid) { |
RawClass* raw_class = NULL; |
-#ifndef PRODUCT |
+#if !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME) |
if (IsReloading()) { |
raw_class = reload_context()->GetClassForHeapWalkAt(cid); |
} else { |
@@ -1840,7 +1843,7 @@ RawClass* Isolate::GetClassForHeapWalkAt(intptr_t cid) { |
} |
#else |
raw_class = class_table()->At(cid); |
-#endif // !PRODUCT |
+#endif // !defined(PRODUCT) && !defined(DART_PRECOMPILED_RUNTIME) |
ASSERT(raw_class != NULL); |
ASSERT(remapping_cids() || raw_class->ptr()->id_ == cid); |
return raw_class; |
@@ -1925,7 +1928,9 @@ void Isolate::PrintJSON(JSONStream* stream, bool ref) { |
jsobj.AddProperty("runnable", is_runnable()); |
jsobj.AddProperty("livePorts", message_handler()->live_ports()); |
jsobj.AddProperty("pauseOnExit", message_handler()->should_pause_on_exit()); |
+#if !defined(DART_PRECOMPILED_RUNTIME) |
jsobj.AddProperty("_isReloading", IsReloading()); |
+#endif // !defined(DART_PRECOMPILED_RUNTIME) |
if (!is_runnable()) { |
// Isolate is not yet runnable. |
@@ -2307,9 +2312,11 @@ void Isolate::PauseEventHandler() { |
Dart_MessageNotifyCallback saved_notify_callback = message_notify_callback(); |
set_message_notify_callback(Isolate::WakePauseEventHandler); |
+#if !defined(DART_PRECOMPILED_RUNTIME) |
const bool had_isolate_reload_context = reload_context() != NULL; |
const int64_t start_time_micros = |
!had_isolate_reload_context ? 0 : reload_context()->start_time_micros(); |
+#endif // !defined(DART_PRECOMPILED_RUNTIME) |
bool resume = false; |
while (true) { |
// Handle all available vm service messages, up to a resume |
@@ -2323,6 +2330,7 @@ void Isolate::PauseEventHandler() { |
break; |
} |
+#if !defined(DART_PRECOMPILED_RUNTIME) |
if (had_isolate_reload_context && (reload_context() == NULL)) { |
if (FLAG_trace_reload) { |
const int64_t reload_time_micros = |
@@ -2332,6 +2340,7 @@ void Isolate::PauseEventHandler() { |
} |
break; |
} |
+#endif // !defined(DART_PRECOMPILED_RUNTIME) |
// Wait for more service messages. |
Monitor::WaitResult res = ml.Wait(); |