Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(901)

Unified Diff: runtime/vm/isolate_reload.cc

Issue 2200683002: Add --hot-reload-rollback test mode (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/bin/main.cc ('k') | tools/testing/dart/compiler_configuration.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/isolate_reload.cc
diff --git a/runtime/vm/isolate_reload.cc b/runtime/vm/isolate_reload.cc
index f1744069b084e244b4a4214e5c3873600ae23a55..60ab54fb5062d120a011d8ae57791303ff580f24 100644
--- a/runtime/vm/isolate_reload.cc
+++ b/runtime/vm/isolate_reload.cc
@@ -32,6 +32,8 @@ DEFINE_FLAG(int, reload_every, 0, "Reload every N stack overflow checks.");
DEFINE_FLAG(bool, reload_every_optimized, true, "Only from optimized code.");
DEFINE_FLAG(bool, reload_every_back_off, false,
"Double the --reload-every value after each reload.");
+DEFINE_FLAG(bool, reload_force_rollback, false,
+ "Force all reloads to fail and rollback.");
DEFINE_FLAG(bool, check_reloaded, false,
"Assert that an isolate has reloaded at least once.")
#ifndef PRODUCT
@@ -1105,7 +1107,7 @@ void IsolateReloadContext::AddInstanceMorpher(InstanceMorpher* morpher) {
void IsolateReloadContext::ReportReasonsForCancelling() {
- ASSERT(HasReasonsForCancelling());
+ ASSERT(FLAG_reload_force_rollback || HasReasonsForCancelling());
for (int i = 0; i < reasons_to_cancel_reload_.length(); i++) {
reasons_to_cancel_reload_.At(i)->Report(this);
}
@@ -1232,7 +1234,7 @@ bool IsolateReloadContext::ValidateReload() {
map.Release();
}
- return !HasReasonsForCancelling();
+ return !FLAG_reload_force_rollback && !HasReasonsForCancelling();
}
« no previous file with comments | « runtime/bin/main.cc ('k') | tools/testing/dart/compiler_configuration.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698