Index: runtime/vm/code_generator.cc |
diff --git a/runtime/vm/code_generator.cc b/runtime/vm/code_generator.cc |
index 683834bd328178fc4de2f6c62711713ec3a4bb6c..69d5c603a9cc2a73778d5f5d264b2431d891b3fd 100644 |
--- a/runtime/vm/code_generator.cc |
+++ b/runtime/vm/code_generator.cc |
@@ -63,6 +63,7 @@ DEFINE_FLAG(charp, deoptimize_filter, NULL, |
DECLARE_FLAG(int, reload_every); |
DECLARE_FLAG(bool, reload_every_optimized); |
+DECLARE_FLAG(bool, reload_every_back_off); |
#ifdef DEBUG |
DEFINE_FLAG(charp, gc_at_instance_allocation, NULL, |
@@ -1297,6 +1298,9 @@ DEFINE_RUNTIME_ENTRY(StackOverflow, 0) { |
DeoptimizeFunctionsOnStack(); |
} |
if (do_reload) { |
+ if (FLAG_reload_every_back_off) { |
+ FLAG_reload_every *= 2; |
+ } |
NOT_IN_PRODUCT(isolate->ReloadSources();) |
} |
if (FLAG_support_debugger && do_stacktrace) { |