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

Side by Side Diff: runtime/vm/flag_list.h

Issue 1759913002: Make precompiler work with product mode. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #ifndef VM_FLAG_LIST_H_ 5 #ifndef VM_FLAG_LIST_H_
6 #define VM_FLAG_LIST_H_ 6 #define VM_FLAG_LIST_H_
7 7
8 // List of all flags in the VM. 8 // List of all flags in the VM.
9 // Flags can be one of three categories: 9 // Flags can be one of three categories:
10 // * P roduct flags: Can be set in any of the deployment modes, including in 10 // * P roduct flags: Can be set in any of the deployment modes, including in
11 // production. 11 // production.
12 // * D ebug flags: Can only be set in debug VMs, which also have assertions 12 // * D ebug flags: Can only be set in debug VMs, which also have assertions
13 // enabled. 13 // enabled.
14 // * R elease flags: Generally available flags except when building product. 14 // * R elease flags: Generally available flags except when building product.
15 // * pre C ompile flags: Generally available flags except when building product 15 // * pre C ompile flags: Generally available flags except when building product
16 // or precompiled runtime. 16 // or precompiled runtime.
17 // 17 //
18 // Usage: 18 // Usage:
19 // P(name, type, default_value, comment) 19 // P(name, type, default_value, comment)
20 // D(name, type, default_value, comment) 20 // D(name, type, default_value, comment)
21 // R(name, product_value, type, default_value, comment) 21 // R(name, product_value, type, default_value, comment)
22 // C(name, precompiled_value, product_value, type, default_value, comment) 22 // C(name, precompiled_value, product_value, type, default_value, comment)
23 #define FLAG_LIST(P, R, D, C) \ 23 #define FLAG_LIST(P, R, D, C) \
24 C(allow_absolute_addresses, false, true, bool, true, \ 24 P(allow_absolute_addresses, bool, true, \
25 "Allow embedding absolute addresses in generated code.") \ 25 "Allow embedding absolute addresses in generated code.") \
26 C(always_megamorphic_calls, true, false, bool, false, \ 26 P(always_megamorphic_calls, bool, false, \
27 "Instance call always as megamorphic.") \ 27 "Instance call always as megamorphic.") \
28 C(background_compilation, false, false, bool, false, \ 28 C(background_compilation, false, false, bool, false, \
29 "Run optimizing compilation in background") \ 29 "Run optimizing compilation in background") \
30 C(collect_code, false, true, bool, true, \ 30 C(collect_code, false, true, bool, true, \
31 "Attempt to GC infrequently used code.") \ 31 "Attempt to GC infrequently used code.") \
32 C(collect_dynamic_function_names, true, false, bool, false, \ 32 P(collect_dynamic_function_names, bool, false, \
33 "Collects all dynamic function names to identify unique targets") \ 33 "Collects all dynamic function names to identify unique targets") \
34 R(dedup_instructions, true, bool, false, \ 34 R(dedup_instructions, true, bool, false, \
35 "Canonicalize instructions when precompiling.") \ 35 "Canonicalize instructions when precompiling.") \
36 C(deoptimize_alot, false, false, bool, false, \ 36 C(deoptimize_alot, false, false, bool, false, \
37 "Deoptimizes we are about to return to Dart code from native entries.") \ 37 "Deoptimizes we are about to return to Dart code from native entries.") \
38 C(deoptimize_every, 0, 0, int, 0, \ 38 C(deoptimize_every, 0, 0, int, 0, \
39 "Deoptimize on every N stack overflow checks") \ 39 "Deoptimize on every N stack overflow checks") \
40 R(disable_alloc_stubs_after_gc, false, bool, false, \ 40 R(disable_alloc_stubs_after_gc, false, bool, false, \
41 "Stress testing flag.") \ 41 "Stress testing flag.") \
42 R(disassemble, false, bool, false, \ 42 R(disassemble, false, bool, false, \
43 "Disassemble dart code.") \ 43 "Disassemble dart code.") \
44 R(disassemble_optimized, false, bool, false, \ 44 R(disassemble_optimized, false, bool, false, \
45 "Disassemble optimized code.") \ 45 "Disassemble optimized code.") \
46 R(dump_symbol_stats, false, bool, false, \ 46 R(dump_symbol_stats, false, bool, false, \
47 "Dump symbol table statistics") \ 47 "Dump symbol table statistics") \
48 C(emit_edge_counters, false, true, bool, true, \ 48 P(emit_edge_counters, bool, true, \
49 "Emit edge counters") \ 49 "Emit edge counters") \
50 R(enable_asserts, false, bool, false, \ 50 R(enable_asserts, false, bool, false, \
51 "Enable assert statements.") \ 51 "Enable assert statements.") \
52 C(enable_mirrors, false, false, bool, true, \ 52 C(enable_mirrors, false, false, bool, true, \
53 "Disable to make importing dart:mirrors an error.") \ 53 "Disable to make importing dart:mirrors an error.") \
54 R(enable_type_checks, false, bool, false, \ 54 R(enable_type_checks, false, bool, false, \
55 "Enable type checks.") \ 55 "Enable type checks.") \
56 R(error_on_bad_override, false, bool, false, \ 56 R(error_on_bad_override, false, bool, false, \
57 "Report error for bad overrides.") \ 57 "Report error for bad overrides.") \
58 R(error_on_bad_type, false, bool, false, \ 58 R(error_on_bad_type, false, bool, false, \
59 "Report error for malformed types.") \ 59 "Report error for malformed types.") \
60 C(fields_may_be_reset, true, false, bool, false, \ 60 P(fields_may_be_reset, bool, false, \
61 "Don't optimize away static field initialization") \ 61 "Don't optimize away static field initialization") \
62 C(force_clone_compiler_objects, false, false, bool, false, \ 62 C(force_clone_compiler_objects, false, false, bool, false, \
63 "Force cloning of objects needed in compiler (ICData and Field).") \ 63 "Force cloning of objects needed in compiler (ICData and Field).") \
64 R(gc_at_alloc, false, bool, false, \ 64 R(gc_at_alloc, false, bool, false, \
65 "GC at every allocation.") \ 65 "GC at every allocation.") \
66 P(getter_setter_ratio, int, 13, \ 66 P(getter_setter_ratio, int, 13, \
67 "Ratio of getter/setter usage used for double field unboxing heuristics") \ 67 "Ratio of getter/setter usage used for double field unboxing heuristics") \
68 P(guess_icdata_cid, bool, true, \ 68 P(guess_icdata_cid, bool, true, \
69 "Artificially create type feedback for arithmetic etc. operations") \ 69 "Artificially create type feedback for arithmetic etc. operations") \
70 C(ic_range_profiling, false, true, bool, true, \ 70 P(ic_range_profiling, bool, true, \
71 "Generate special IC stubs collecting range information ") \ 71 "Generate special IC stubs collecting range information ") \
72 C(interpret_irregexp, true, false, bool, false, \ 72 C(interpret_irregexp, true, false, bool, false, \
73 "Use irregexp bytecode interpreter") \ 73 "Use irregexp bytecode interpreter") \
74 C(lazy_dispatchers, false, true, bool, true, \ 74 P(lazy_dispatchers, bool, true, \
75 "Generate dispatchers lazily") \ 75 "Generate dispatchers lazily") \
76 C(link_natives_lazily, true, false, bool, false, \ 76 P(link_natives_lazily, bool, false, \
77 "Link native calls lazily") \ 77 "Link native calls lazily") \
78 C(load_deferred_eagerly, true, true, bool, false, \ 78 C(load_deferred_eagerly, true, true, bool, false, \
79 "Load deferred libraries eagerly.") \ 79 "Load deferred libraries eagerly.") \
80 P(max_polymorphic_checks, int, 4, \ 80 P(max_polymorphic_checks, int, 4, \
81 "Maximum number of polymorphic check, otherwise it is megamorphic.") \ 81 "Maximum number of polymorphic check, otherwise it is megamorphic.") \
82 P(max_equality_polymorphic_checks, int, 32, \ 82 P(max_equality_polymorphic_checks, int, 32, \
83 "Maximum number of polymorphic checks in equality operator,") \ 83 "Maximum number of polymorphic checks in equality operator,") \
84 P(merge_sin_cos, bool, false, \ 84 P(merge_sin_cos, bool, false, \
85 "Merge sin/cos into sincos") \ 85 "Merge sin/cos into sincos") \
86 P(new_gen_ext_limit, int, 64, \ 86 P(new_gen_ext_limit, int, 64, \
87 "maximum total external size (MB) in new gen before triggering GC") \ 87 "maximum total external size (MB) in new gen before triggering GC") \
88 C(optimization_counter_threshold, -1, 30000, int, 30000, \ 88 P(optimization_counter_threshold, int, 30000, \
89 "Function's usage-counter value before it is optimized, -1 means never") \ 89 "Function's usage-counter value before it is optimized, -1 means never") \
90 C(polymorphic_with_deopt, false, true, bool, true, \ 90 P(polymorphic_with_deopt, bool, true, \
91 "Polymorphic calls with deoptimization / megamorphic call") \ 91 "Polymorphic calls with deoptimization / megamorphic call") \
92 C(precompiled_mode, true, false, bool, false, \ 92 P(precompiled_mode, bool, false, \
93 "Precompilation compiler/runtime mode") \ 93 "Precompilation compiler mode") \
94 C(precompiled_runtime, true, false, bool, false, \
95 "Precompiled runtime mode") \
94 R(pretenure_all, false, bool, false, \ 96 R(pretenure_all, false, bool, false, \
95 "Global pretenuring (for testing).") \ 97 "Global pretenuring (for testing).") \
96 P(pretenure_interval, int, 10, \ 98 P(pretenure_interval, int, 10, \
97 "Back off pretenuring after this many cycles.") \ 99 "Back off pretenuring after this many cycles.") \
98 P(pretenure_threshold, int, 98, \ 100 P(pretenure_threshold, int, 98, \
99 "Trigger pretenuring when this many percent are promoted.") \ 101 "Trigger pretenuring when this many percent are promoted.") \
100 C(print_stop_message, false, false, bool, false, \ 102 C(print_stop_message, false, false, bool, false, \
101 "Print stop message.") \ 103 "Print stop message.") \
102 R(profiler, false, bool, true, \ 104 R(profiler, false, bool, true, \
103 "Enable the profiler.") \ 105 "Enable the profiler.") \
106 P(reorder_basic_blocks, bool, true, \
rmacnak 2016/03/02 21:12:35 Probably don't need both this and emit_edge_counte
Florian Schneider 2016/03/02 21:48:11 Done.
107 "Reorder basic blocks") \
104 R(support_ast_printer, false, bool, true, \ 108 R(support_ast_printer, false, bool, true, \
105 "Support the AST printer.") \ 109 "Support the AST printer.") \
106 R(support_compiler_stats, false, bool, true, \ 110 R(support_compiler_stats, false, bool, true, \
107 "Support compiler stats.") \ 111 "Support compiler stats.") \
108 R(support_debugger, false, bool, true, \ 112 R(support_debugger, false, bool, true, \
109 "Support the debugger.") \ 113 "Support the debugger.") \
110 R(support_disassembler, false, bool, true, \ 114 R(support_disassembler, false, bool, true, \
111 "Support the disassembler.") \ 115 "Support the disassembler.") \
112 R(support_il_printer, false, bool, true, \ 116 R(support_il_printer, false, bool, true, \
113 "Support the IL printer.") \ 117 "Support the IL printer.") \
114 R(support_service, false, bool, true, \ 118 R(support_service, false, bool, true, \
115 "Support the service protocol.") \ 119 "Support the service protocol.") \
116 R(support_coverage, false, bool, true, \ 120 R(support_coverage, false, bool, true, \
117 "Support code coverage.") \ 121 "Support code coverage.") \
118 R(support_timeline, false, bool, true, \ 122 R(support_timeline, false, bool, true, \
119 "Support timeline.") \ 123 "Support timeline.") \
120 D(trace_cha, bool, false, \ 124 D(trace_cha, bool, false, \
121 "Trace CHA operations") \ 125 "Trace CHA operations") \
122 D(trace_field_guards, bool, false, \ 126 D(trace_field_guards, bool, false, \
123 "Trace changes in field's cids.") \ 127 "Trace changes in field's cids.") \
124 D(trace_handles, bool, false, \ 128 D(trace_handles, bool, false, \
125 "Traces allocation of handles.") \ 129 "Traces allocation of handles.") \
126 D(trace_optimization, bool, false, \ 130 D(trace_optimization, bool, false, \
127 "Print optimization details."); \ 131 "Print optimization details."); \
128 D(trace_zones, bool, false, \ 132 D(trace_zones, bool, false, \
129 "Traces allocation sizes in the zone.") \ 133 "Traces allocation sizes in the zone.") \
130 P(truncating_left_shift, bool, true, \ 134 P(truncating_left_shift, bool, true, \
131 "Optimize left shift to truncate if possible") \ 135 "Optimize left shift to truncate if possible") \
132 C(use_cha_deopt, false, true, bool, true, \ 136 P(use_cha_deopt, bool, true, \
133 "Use class hierarchy analysis even if it can cause deoptimization.") \ 137 "Use class hierarchy analysis even if it can cause deoptimization.") \
134 C(use_field_guards, false, true, bool, true, \ 138 P(use_field_guards, bool, true, \
135 "Use field guards and track field types") \ 139 "Use field guards and track field types") \
136 C(use_osr, false, true, bool, true, \ 140 C(use_osr, false, true, bool, true, \
137 "Use OSR") \ 141 "Use OSR") \
138 P(verbose_gc, bool, false, \ 142 P(verbose_gc, bool, false, \
139 "Enables verbose GC.") \ 143 "Enables verbose GC.") \
140 P(verbose_gc_hdr, int, 40, \ 144 P(verbose_gc_hdr, int, 40, \
141 "Print verbose GC header interval.") \ 145 "Print verbose GC header interval.") \
142 R(verify_after_gc, false, bool, false, \ 146 R(verify_after_gc, false, bool, false, \
143 "Enables heap verification after GC.") \ 147 "Enables heap verification after GC.") \
144 R(verify_before_gc, false, bool, false, \ 148 R(verify_before_gc, false, bool, false, \
145 "Enables heap verification before GC.") \ 149 "Enables heap verification before GC.") \
146 150
147 #endif // VM_FLAG_LIST_H_ 151 #endif // VM_FLAG_LIST_H_
OLDNEW
« no previous file with comments | « runtime/vm/debugger.cc ('k') | runtime/vm/flow_graph.cc » ('j') | runtime/vm/intrinsifier_arm.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698