| 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, \
|
|
|