Index: runtime/vm/flag_list.h |
diff --git a/runtime/vm/flag_list.h b/runtime/vm/flag_list.h |
index 00a2caf040b97696913149641e01bd0bb7b1e02a..4fdfb7b494130cef7a4b1beeab85e4fdc82db4ff 100644 |
--- a/runtime/vm/flag_list.h |
+++ b/runtime/vm/flag_list.h |
@@ -12,8 +12,15 @@ |
// * D ebug flags: Can only be set in debug VMs, which also have assertions |
// enabled. |
// * R elease flags: Generally available flags except when building product. |
- |
-#define FLAG_LIST(P, R, D) \ |
+// * pre C ompile flags: Generally available flags except when building product |
+// or precompiled runtime. |
+// |
+// Usage: |
+// P(name, type, default_value, comment) |
+// D(name, type, default_value, comment) |
+// R(name, product_value, type, default_value, comment) |
+// C(name, precompiled_value, product_value, type, default_value, comment) |
+#define FLAG_LIST(P, R, D, C) \ |
R(dedup_instructions, true, bool, false, \ |
"Canonicalize instructions when precompiling.") \ |
R(disable_alloc_stubs_after_gc, false, bool, false, \ |
@@ -28,8 +35,22 @@ R(enable_mirrors, false, bool, true, \ |
"Disable to make importing dart:mirrors an error.") \ |
R(gc_at_alloc, false, bool, false, \ |
"GC at every allocation.") \ |
+P(getter_setter_ratio, int, 13, \ |
+ "Ratio of getter/setter usage used for double field unboxing heuristics") \ |
+P(guess_icdata_cid, bool, true, \ |
+ "Artificially create type feedback for arithmetic etc. operations") \ |
+C(lazy_dispatchers, false, true, bool, true, \ |
+ "Generate dispatchers lazily") \ |
+P(max_polymorphic_checks, int, 4, \ |
+ "Maximum number of polymorphic check, otherwise it is megamorphic.") \ |
+P(max_equality_polymorphic_checks, int, 32, \ |
+ "Maximum number of polymorphic checks in equality operator,") \ |
+P(merge_sin_cos, bool, false, \ |
+ "Merge sin/cos into sincos") \ |
P(new_gen_ext_limit, int, 64, \ |
"maximum total external size (MB) in new gen before triggering GC") \ |
+C(polymorphic_with_deopt, false, true, bool, true, \ |
+ "Polymorphic calls with deoptimization / megamorphic call") \ |
R(pretenure_all, false, bool, false, \ |
"Global pretenuring (for testing).") \ |
P(pretenure_interval, int, 10, \ |
@@ -54,10 +75,20 @@ R(support_coverage, false, bool, true, \ |
"Support code coverage.") \ |
R(support_timeline, false, bool, true, \ |
"Support timeline.") \ |
+D(trace_cha, bool, false, \ |
+ "Trace CHA operations") \ |
+D(trace_field_guards, bool, false, \ |
+ "Trace changes in field's cids.") \ |
D(trace_handles, bool, false, \ |
"Traces allocation of handles.") \ |
+D(trace_optimization, bool, false, \ |
+ "Print optimization details."); \ |
D(trace_zones, bool, false, \ |
"Traces allocation sizes in the zone.") \ |
+P(truncating_left_shift, bool, true, \ |
+ "Optimize left shift to truncate if possible") \ |
+C(use_cha_deopt, false, true, bool, true, \ |
+ "Use class hierarchy analysis even if it can cause deoptimization.") \ |
P(verbose_gc, bool, false, \ |
"Enables verbose GC.") \ |
P(verbose_gc_hdr, int, 40, \ |