Index: runtime/vm/isolate.cc |
diff --git a/runtime/vm/isolate.cc b/runtime/vm/isolate.cc |
index 27a3529c96fd6d8e5095fb203cad9ab601a9fe75..c743fae446206b5c287d138a331ff82cb42b8794 100644 |
--- a/runtime/vm/isolate.cc |
+++ b/runtime/vm/isolate.cc |
@@ -827,7 +827,6 @@ Isolate::Isolate(const Dart_IsolateFlags& api_flags) |
tag_table_(GrowableObjectArray::null()), |
deoptimized_code_array_(GrowableObjectArray::null()), |
sticky_error_(Error::null()), |
- sticky_reload_error_(Error::null()), |
background_compiler_(NULL), |
background_compiler_disabled_depth_(0), |
pending_service_extension_calls_(GrowableObjectArray::null()), |
@@ -1096,20 +1095,23 @@ void Isolate::ReportReloadError(const Error& error) { |
} |
-void Isolate::ReloadSources(bool force_reload, |
+bool Isolate::ReloadSources(JSONStream* js, |
+ bool force_reload, |
bool dont_delete_reload_context) { |
// TODO(asiva): Add verification of canonical objects. |
ASSERT(!IsReloading()); |
has_attempted_reload_ = true; |
- reload_context_ = new IsolateReloadContext(this); |
+ reload_context_ = new IsolateReloadContext(this, js); |
reload_context_->StartReload(force_reload); |
+ bool success = !reload_context_->has_error(); |
// TODO(asiva): Add verification of canonical objects. |
if (dont_delete_reload_context) { |
// Unit tests use the reload context later. Caller is responsible |
// for deleting the context. |
- return; |
+ return success; |
} |
DeleteReloadContext(); |
+ return success; |
} |
@@ -1124,12 +1126,6 @@ void Isolate::DoneFinalizing() { |
NOT_IN_PRODUCT( |
if (IsReloading()) { |
reload_context_->FinishReload(); |
- if (reload_context_->has_error()) { |
- // Remember the reload error. |
- sticky_reload_error_ = reload_context_->error(); |
- } else { |
- reload_context_->ReportSuccess(); |
- } |
} |
) |
} |
@@ -1831,9 +1827,6 @@ void Isolate::VisitObjectPointers(ObjectPointerVisitor* visitor, |
visitor->VisitPointer( |
reinterpret_cast<RawObject**>(&sticky_error_)); |
- visitor->VisitPointer( |
- reinterpret_cast<RawObject**>(&sticky_reload_error_)); |
- |
// Visit the pending service extension calls. |
visitor->VisitPointer( |
reinterpret_cast<RawObject**>(&pending_service_extension_calls_)); |
@@ -2094,11 +2087,6 @@ void Isolate::clear_sticky_error() { |
} |
-void Isolate::clear_sticky_reload_error() { |
- sticky_reload_error_ = Error::null(); |
-} |
- |
- |
void Isolate::set_pending_service_extension_calls( |
const GrowableObjectArray& value) { |
pending_service_extension_calls_ = value.raw(); |