| Index: runtime/vm/flag_list.h
|
| diff --git a/runtime/vm/flag_list.h b/runtime/vm/flag_list.h
|
| index 6b2e6315e9fdb2aa977f38f2c39054e4e05993f7..94c0425f66125575d39d604d7cbd924e5ace8bbd 100644
|
| --- a/runtime/vm/flag_list.h
|
| +++ b/runtime/vm/flag_list.h
|
| @@ -41,164 +41,126 @@
|
| // D(name, type, default_value, comment)
|
| // C(name, precompiled_value, product_value, type, default_value, comment)
|
| #define FLAG_LIST(P, R, D, C) \
|
| -P(background_compilation, bool, USING_MULTICORE, \
|
| - "Run optimizing compilation in background") \
|
| -R(background_compilation_stop_alot, false, bool, false, \
|
| - "Stress test system: stop background compiler often.") \
|
| -P(background_finalization, bool, USING_MULTICORE, \
|
| - "Run weak handle finalizers in background") \
|
| -R(break_at_isolate_spawn, false, bool, false, \
|
| - "Insert a one-time breakpoint at the entrypoint for all spawned isolates") \
|
| -C(collect_code, false, true, bool, true, \
|
| - "Attempt to GC infrequently used code.") \
|
| -P(collect_dynamic_function_names, bool, true, \
|
| - "Collects all dynamic function names to identify unique targets") \
|
| -R(concurrent_sweep, USING_MULTICORE, bool, USING_MULTICORE, \
|
| - "Concurrent sweep for old generation.") \
|
| -R(dedup_instructions, true, bool, false, \
|
| - "Canonicalize instructions when precompiling.") \
|
| -C(deoptimize_alot, false, false, bool, false, \
|
| - "Deoptimizes we are about to return to Dart code from native entries.") \
|
| -C(deoptimize_every, 0, 0, int, 0, \
|
| - "Deoptimize on every N stack overflow checks") \
|
| -R(disable_alloc_stubs_after_gc, false, bool, false, \
|
| - "Stress testing flag.") \
|
| -R(disassemble, false, bool, false, \
|
| - "Disassemble dart code.") \
|
| -R(disassemble_optimized, false, bool, false, \
|
| - "Disassemble optimized code.") \
|
| -R(dump_megamorphic_stats, false, bool, false, \
|
| - "Dump megamorphic cache statistics") \
|
| -R(dump_symbol_stats, false, bool, false, \
|
| - "Dump symbol table statistics") \
|
| -R(enable_asserts, false, bool, false, \
|
| - "Enable assert statements.") \
|
| -C(enable_mirrors, false, false, bool, true, \
|
| - "Disable to make importing dart:mirrors an error.") \
|
| -R(enable_type_checks, false, bool, false, \
|
| - "Enable type checks.") \
|
| -R(error_on_bad_override, false, bool, false, \
|
| - "Report error for bad overrides.") \
|
| -R(error_on_bad_type, false, bool, false, \
|
| - "Report error for malformed types.") \
|
| -P(external_max_size, int, (kWordSize <= 4) ? 512 : 1024, \
|
| - "Max total size of external allocations in MB, or 0 for unlimited," \
|
| - "e.g: --external_max_size=1024 allows up to 1024MB of externals") \
|
| -P(fields_may_be_reset, bool, false, \
|
| - "Don't optimize away static field initialization") \
|
| -C(force_clone_compiler_objects, false, false, bool, false, \
|
| - "Force cloning of objects needed in compiler (ICData and Field).") \
|
| -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") \
|
| -P(huge_method_cutoff_in_tokens, int, 20000, \
|
| - "Huge method cutoff in tokens: Disables optimizations for huge methods.") \
|
| -P(interpret_irregexp, bool, USING_DBC, \
|
| - "Use irregexp bytecode interpreter") \
|
| -P(lazy_dispatchers, bool, true, \
|
| - "Generate dispatchers lazily") \
|
| -P(link_natives_lazily, bool, false, \
|
| - "Link native calls lazily") \
|
| -C(load_deferred_eagerly, true, true, bool, false, \
|
| - "Load deferred libraries eagerly.") \
|
| -R(log_marker_tasks, false, bool, false, \
|
| - "Log debugging information for old gen GC marking tasks.") \
|
| -R(marker_tasks, USING_MULTICORE ? 2 : 0, int, USING_MULTICORE ? 2 : 0, \
|
| - "The number of tasks to spawn during old gen GC marking (0 means " \
|
| - "perform all marking on main thread).") \
|
| -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") \
|
| -P(new_gen_semi_max_size, int, (kWordSize <= 4) ? 16 : 32, \
|
| - "Max size of new gen semi space in MB") \
|
| -P(optimization_counter_threshold, int, 30000, \
|
| - "Function's usage-counter value before it is optimized, -1 means never") \
|
| -P(old_gen_heap_size, int, (kWordSize <= 4) ? 1536 : 0, \
|
| - "Max size of old gen heap size in MB, or 0 for unlimited," \
|
| - "e.g: --old_gen_heap_size=1024 allows up to 1024MB old gen heap") \
|
| -R(pause_isolates_on_start, false, bool, false, \
|
| - "Pause isolates before starting.") \
|
| -R(pause_isolates_on_exit, false, bool, false, \
|
| - "Pause isolates exiting.") \
|
| -R(pause_isolates_on_unhandled_exceptions, false, bool, false, \
|
| - "Pause isolates on unhandled exceptions.") \
|
| -P(polymorphic_with_deopt, bool, true, \
|
| - "Polymorphic calls with deoptimization / megamorphic call") \
|
| -P(precompiled_mode, bool, false, \
|
| - "Precompilation compiler mode") \
|
| -C(precompiled_runtime, true, false, bool, false, \
|
| - "Precompiled runtime mode") \
|
| -R(print_ssa_liveranges, false, bool, false, \
|
| - "Print live ranges after allocation.") \
|
| -C(print_stop_message, false, false, bool, false, \
|
| - "Print stop message.") \
|
| -D(print_variable_descriptors, bool, false, \
|
| - "Print variable descriptors in disassembly.") \
|
| -R(profiler, false, bool, !USING_DBC && !USING_FUCHSIA, \
|
| - "Enable the profiler.") \
|
| -P(reorder_basic_blocks, bool, true, \
|
| - "Reorder basic blocks") \
|
| -R(support_ast_printer, false, bool, true, \
|
| - "Support the AST printer.") \
|
| -R(support_compiler_stats, false, bool, true, \
|
| - "Support compiler stats.") \
|
| -C(support_debugger, false, false, bool, true, \
|
| - "Support the debugger.") \
|
| -R(support_disassembler, false, bool, true, \
|
| - "Support the disassembler.") \
|
| -R(support_il_printer, false, bool, true, \
|
| - "Support the IL printer.") \
|
| -C(support_reload, false, false, bool, true, \
|
| - "Support isolate reload.") \
|
| -R(support_service, false, bool, true, \
|
| - "Support the service protocol.") \
|
| -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_isolates, bool, false, \
|
| - "Trace isolate creation and shut down.") \
|
| -D(trace_handles, bool, false, \
|
| - "Traces allocation of handles.") \
|
| -D(trace_kernel_binary, bool, false, \
|
| - "Trace Kernel reader/writer.") \
|
| -D(trace_optimization, bool, false, \
|
| - "Print optimization details.") \
|
| -R(trace_profiler, false, bool, false, \
|
| - "Profiler trace") \
|
| -D(trace_profiler_verbose, bool, false, \
|
| - "Verbose profiler trace") \
|
| -D(trace_ssa_allocator, bool, false, \
|
| - "Trace register allocation over SSA.") \
|
| -D(trace_zones, bool, false, \
|
| - "Traces allocation sizes in the zone.") \
|
| -P(truncating_left_shift, bool, true, \
|
| - "Optimize left shift to truncate if possible") \
|
| -P(use_cha_deopt, bool, true, \
|
| - "Use class hierarchy analysis even if it can cause deoptimization.") \
|
| -P(use_field_guards, bool, !USING_DBC, \
|
| - "Use field guards and track field types") \
|
| -C(use_osr, false, true, bool, true, \
|
| - "Use OSR") \
|
| -P(verbose_gc, bool, false, \
|
| - "Enables verbose GC.") \
|
| -P(verbose_gc_hdr, int, 40, \
|
| - "Print verbose GC header interval.") \
|
| -R(verify_after_gc, false, bool, false, \
|
| - "Enables heap verification after GC.") \
|
| -R(verify_before_gc, false, bool, false, \
|
| - "Enables heap verification before GC.") \
|
| -D(verify_on_transition, bool, false, \
|
| - "Verify on dart <==> VM.") \
|
| + P(background_compilation, bool, USING_MULTICORE, \
|
| + "Run optimizing compilation in background") \
|
| + R(background_compilation_stop_alot, false, bool, false, \
|
| + "Stress test system: stop background compiler often.") \
|
| + P(background_finalization, bool, USING_MULTICORE, \
|
| + "Run weak handle finalizers in background") \
|
| + R(break_at_isolate_spawn, false, bool, false, \
|
| + "Insert a one-time breakpoint at the entrypoint for all spawned isolates") \
|
| + C(collect_code, false, true, bool, true, \
|
| + "Attempt to GC infrequently used code.") \
|
| + P(collect_dynamic_function_names, bool, true, \
|
| + "Collects all dynamic function names to identify unique targets") \
|
| + R(concurrent_sweep, USING_MULTICORE, bool, USING_MULTICORE, \
|
| + "Concurrent sweep for old generation.") \
|
| + R(dedup_instructions, true, bool, false, \
|
| + "Canonicalize instructions when precompiling.") \
|
| + C(deoptimize_alot, false, false, bool, false, \
|
| + "Deoptimizes we are about to return to Dart code from native entries.") \
|
| + C(deoptimize_every, 0, 0, int, 0, \
|
| + "Deoptimize on every N stack overflow checks") \
|
| + R(disable_alloc_stubs_after_gc, false, bool, false, "Stress testing flag.") \
|
| + R(disassemble, false, bool, false, "Disassemble dart code.") \
|
| + R(disassemble_optimized, false, bool, false, "Disassemble optimized code.") \
|
| + R(dump_megamorphic_stats, false, bool, false, \
|
| + "Dump megamorphic cache statistics") \
|
| + R(dump_symbol_stats, false, bool, false, "Dump symbol table statistics") \
|
| + R(enable_asserts, false, bool, false, "Enable assert statements.") \
|
| + C(enable_mirrors, false, false, bool, true, \
|
| + "Disable to make importing dart:mirrors an error.") \
|
| + R(enable_type_checks, false, bool, false, "Enable type checks.") \
|
| + R(error_on_bad_override, false, bool, false, \
|
| + "Report error for bad overrides.") \
|
| + R(error_on_bad_type, false, bool, false, \
|
| + "Report error for malformed types.") \
|
| + P(external_max_size, int, (kWordSize <= 4) ? 512 : 1024, \
|
| + "Max total size of external allocations in MB, or 0 for unlimited," \
|
| + "e.g: --external_max_size=1024 allows up to 1024MB of externals") \
|
| + P(fields_may_be_reset, bool, false, \
|
| + "Don't optimize away static field initialization") \
|
| + C(force_clone_compiler_objects, false, false, bool, false, \
|
| + "Force cloning of objects needed in compiler (ICData and Field).") \
|
| + 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") \
|
| + P(huge_method_cutoff_in_tokens, int, 20000, \
|
| + "Huge method cutoff in tokens: Disables optimizations for huge methods.") \
|
| + P(interpret_irregexp, bool, USING_DBC, "Use irregexp bytecode interpreter") \
|
| + P(lazy_dispatchers, bool, true, "Generate dispatchers lazily") \
|
| + P(link_natives_lazily, bool, false, "Link native calls lazily") \
|
| + C(load_deferred_eagerly, true, true, bool, false, \
|
| + "Load deferred libraries eagerly.") \
|
| + R(log_marker_tasks, false, bool, false, \
|
| + "Log debugging information for old gen GC marking tasks.") \
|
| + R(marker_tasks, USING_MULTICORE ? 2 : 0, int, USING_MULTICORE ? 2 : 0, \
|
| + "The number of tasks to spawn during old gen GC marking (0 means " \
|
| + "perform all marking on main thread).") \
|
| + 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") \
|
| + P(new_gen_semi_max_size, int, (kWordSize <= 4) ? 16 : 32, \
|
| + "Max size of new gen semi space in MB") \
|
| + P(optimization_counter_threshold, int, 30000, \
|
| + "Function's usage-counter value before it is optimized, -1 means never") \
|
| + P(old_gen_heap_size, int, (kWordSize <= 4) ? 1536 : 0, \
|
| + "Max size of old gen heap size in MB, or 0 for unlimited," \
|
| + "e.g: --old_gen_heap_size=1024 allows up to 1024MB old gen heap") \
|
| + R(pause_isolates_on_start, false, bool, false, \
|
| + "Pause isolates before starting.") \
|
| + R(pause_isolates_on_exit, false, bool, false, "Pause isolates exiting.") \
|
| + R(pause_isolates_on_unhandled_exceptions, false, bool, false, \
|
| + "Pause isolates on unhandled exceptions.") \
|
| + P(polymorphic_with_deopt, bool, true, \
|
| + "Polymorphic calls with deoptimization / megamorphic call") \
|
| + P(precompiled_mode, bool, false, "Precompilation compiler mode") \
|
| + C(precompiled_runtime, true, false, bool, false, "Precompiled runtime mode") \
|
| + R(print_ssa_liveranges, false, bool, false, \
|
| + "Print live ranges after allocation.") \
|
| + C(print_stop_message, false, false, bool, false, "Print stop message.") \
|
| + D(print_variable_descriptors, bool, false, \
|
| + "Print variable descriptors in disassembly.") \
|
| + R(profiler, false, bool, !USING_DBC && !USING_FUCHSIA, \
|
| + "Enable the profiler.") \
|
| + P(reorder_basic_blocks, bool, true, "Reorder basic blocks") \
|
| + R(support_ast_printer, false, bool, true, "Support the AST printer.") \
|
| + R(support_compiler_stats, false, bool, true, "Support compiler stats.") \
|
| + C(support_debugger, false, false, bool, true, "Support the debugger.") \
|
| + R(support_disassembler, false, bool, true, "Support the disassembler.") \
|
| + R(support_il_printer, false, bool, true, "Support the IL printer.") \
|
| + C(support_reload, false, false, bool, true, "Support isolate reload.") \
|
| + R(support_service, false, bool, true, "Support the service protocol.") \
|
| + 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_isolates, bool, false, "Trace isolate creation and shut down.") \
|
| + D(trace_handles, bool, false, "Traces allocation of handles.") \
|
| + D(trace_kernel_binary, bool, false, "Trace Kernel reader/writer.") \
|
| + D(trace_optimization, bool, false, "Print optimization details.") \
|
| + R(trace_profiler, false, bool, false, "Profiler trace") \
|
| + D(trace_profiler_verbose, bool, false, "Verbose profiler trace") \
|
| + D(trace_ssa_allocator, bool, false, "Trace register allocation over SSA.") \
|
| + D(trace_zones, bool, false, "Traces allocation sizes in the zone.") \
|
| + P(truncating_left_shift, bool, true, \
|
| + "Optimize left shift to truncate if possible") \
|
| + P(use_cha_deopt, bool, true, \
|
| + "Use class hierarchy analysis even if it can cause deoptimization.") \
|
| + P(use_field_guards, bool, !USING_DBC, \
|
| + "Use field guards and track field types") \
|
| + C(use_osr, false, true, bool, true, "Use OSR") \
|
| + P(verbose_gc, bool, false, "Enables verbose GC.") \
|
| + P(verbose_gc_hdr, int, 40, "Print verbose GC header interval.") \
|
| + R(verify_after_gc, false, bool, false, \
|
| + "Enables heap verification after GC.") \
|
| + R(verify_before_gc, false, bool, false, \
|
| + "Enables heap verification before GC.") \
|
| + D(verify_on_transition, bool, false, "Verify on dart <==> VM.")
|
|
|
| #endif // RUNTIME_VM_FLAG_LIST_H_
|
|
|