OLD | NEW |
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 #if defined(TARGET_ARCH_DBC) |
| 9 #define USING_DBC 1 |
| 10 #else |
| 11 #define USING_DBC 0 |
| 12 #endif |
| 13 |
8 // List of all flags in the VM. | 14 // List of all flags in the VM. |
9 // Flags can be one of three categories: | 15 // Flags can be one of three categories: |
10 // * P roduct flags: Can be set in any of the deployment modes, including in | 16 // * P roduct flags: Can be set in any of the deployment modes, including in |
11 // production. | 17 // production. |
12 // * D ebug flags: Can only be set in debug VMs, which also have assertions | 18 // * D ebug flags: Can only be set in debug VMs, which also have assertions |
13 // enabled. | 19 // enabled. |
14 // * R elease flags: Generally available flags except when building product. | 20 // * R elease flags: Generally available flags except when building product. |
15 // * pre C ompile flags: Generally available flags except when building product | 21 // * pre C ompile flags: Generally available flags except when building product |
16 // or precompiled runtime. | 22 // or precompiled runtime. |
17 // | 23 // |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
63 P(fields_may_be_reset, bool, false, \ | 69 P(fields_may_be_reset, bool, false, \ |
64 "Don't optimize away static field initialization") \ | 70 "Don't optimize away static field initialization") \ |
65 C(force_clone_compiler_objects, false, false, bool, false, \ | 71 C(force_clone_compiler_objects, false, false, bool, false, \ |
66 "Force cloning of objects needed in compiler (ICData and Field).") \ | 72 "Force cloning of objects needed in compiler (ICData and Field).") \ |
67 R(gc_at_alloc, false, bool, false, \ | 73 R(gc_at_alloc, false, bool, false, \ |
68 "GC at every allocation.") \ | 74 "GC at every allocation.") \ |
69 P(getter_setter_ratio, int, 13, \ | 75 P(getter_setter_ratio, int, 13, \ |
70 "Ratio of getter/setter usage used for double field unboxing heuristics") \ | 76 "Ratio of getter/setter usage used for double field unboxing heuristics") \ |
71 P(guess_icdata_cid, bool, true, \ | 77 P(guess_icdata_cid, bool, true, \ |
72 "Artificially create type feedback for arithmetic etc. operations") \ | 78 "Artificially create type feedback for arithmetic etc. operations") \ |
73 P(ic_range_profiling, bool, true, \ | 79 P(ic_range_profiling, bool, !USING_DBC, \ |
74 "Generate special IC stubs collecting range information ") \ | 80 "Generate special IC stubs collecting range information ") \ |
75 P(interpret_irregexp, bool, false, \ | 81 P(interpret_irregexp, bool, USING_DBC, \ |
76 "Use irregexp bytecode interpreter") \ | 82 "Use irregexp bytecode interpreter") \ |
77 P(lazy_dispatchers, bool, true, \ | 83 P(lazy_dispatchers, bool, true, \ |
78 "Generate dispatchers lazily") \ | 84 "Generate dispatchers lazily") \ |
79 P(link_natives_lazily, bool, false, \ | 85 P(link_natives_lazily, bool, false, \ |
80 "Link native calls lazily") \ | 86 "Link native calls lazily") \ |
81 C(load_deferred_eagerly, true, true, bool, false, \ | 87 C(load_deferred_eagerly, true, true, bool, false, \ |
82 "Load deferred libraries eagerly.") \ | 88 "Load deferred libraries eagerly.") \ |
83 P(max_polymorphic_checks, int, 4, \ | 89 P(max_polymorphic_checks, int, 4, \ |
84 "Maximum number of polymorphic check, otherwise it is megamorphic.") \ | 90 "Maximum number of polymorphic check, otherwise it is megamorphic.") \ |
85 P(max_equality_polymorphic_checks, int, 32, \ | 91 P(max_equality_polymorphic_checks, int, 32, \ |
(...skipping 26 matching lines...) Expand all Loading... |
112 P(pretenure_interval, int, 10, \ | 118 P(pretenure_interval, int, 10, \ |
113 "Back off pretenuring after this many cycles.") \ | 119 "Back off pretenuring after this many cycles.") \ |
114 P(pretenure_threshold, int, 98, \ | 120 P(pretenure_threshold, int, 98, \ |
115 "Trigger pretenuring when this many percent are promoted.") \ | 121 "Trigger pretenuring when this many percent are promoted.") \ |
116 R(print_ssa_liveness, false, bool, false, \ | 122 R(print_ssa_liveness, false, bool, false, \ |
117 "Print liveness for ssa variables.") \ | 123 "Print liveness for ssa variables.") \ |
118 R(print_ssa_liveranges, false, bool, false, \ | 124 R(print_ssa_liveranges, false, bool, false, \ |
119 "Print live ranges after allocation.") \ | 125 "Print live ranges after allocation.") \ |
120 C(print_stop_message, false, false, bool, false, \ | 126 C(print_stop_message, false, false, bool, false, \ |
121 "Print stop message.") \ | 127 "Print stop message.") \ |
122 R(profiler, false, bool, true, \ | 128 R(profiler, false, bool, !USING_DBC, \ |
123 "Enable the profiler.") \ | 129 "Enable the profiler.") \ |
124 P(reorder_basic_blocks, bool, true, \ | 130 P(reorder_basic_blocks, bool, true, \ |
125 "Reorder basic blocks") \ | 131 "Reorder basic blocks") \ |
126 R(support_ast_printer, false, bool, true, \ | 132 R(support_ast_printer, false, bool, true, \ |
127 "Support the AST printer.") \ | 133 "Support the AST printer.") \ |
128 R(support_compiler_stats, false, bool, true, \ | 134 R(support_compiler_stats, false, bool, true, \ |
129 "Support compiler stats.") \ | 135 "Support compiler stats.") \ |
130 R(support_debugger, false, bool, true, \ | 136 R(support_debugger, false, bool, true, \ |
131 "Support the debugger.") \ | 137 "Support the debugger.") \ |
132 R(support_disassembler, false, bool, true, \ | 138 R(support_disassembler, false, bool, true, \ |
(...skipping 19 matching lines...) Expand all Loading... |
152 D(trace_profiler_verbose, bool, false, \ | 158 D(trace_profiler_verbose, bool, false, \ |
153 "Verbose profiler trace") \ | 159 "Verbose profiler trace") \ |
154 D(trace_ssa_allocator, bool, false, \ | 160 D(trace_ssa_allocator, bool, false, \ |
155 "Trace register allocation over SSA.") \ | 161 "Trace register allocation over SSA.") \ |
156 D(trace_zones, bool, false, \ | 162 D(trace_zones, bool, false, \ |
157 "Traces allocation sizes in the zone.") \ | 163 "Traces allocation sizes in the zone.") \ |
158 P(truncating_left_shift, bool, true, \ | 164 P(truncating_left_shift, bool, true, \ |
159 "Optimize left shift to truncate if possible") \ | 165 "Optimize left shift to truncate if possible") \ |
160 P(use_cha_deopt, bool, true, \ | 166 P(use_cha_deopt, bool, true, \ |
161 "Use class hierarchy analysis even if it can cause deoptimization.") \ | 167 "Use class hierarchy analysis even if it can cause deoptimization.") \ |
162 P(use_field_guards, bool, true, \ | 168 P(use_field_guards, bool, !USING_DBC, \ |
163 "Use field guards and track field types") \ | 169 "Use field guards and track field types") \ |
164 C(use_osr, false, true, bool, true, \ | 170 C(use_osr, false, true, bool, true, \ |
165 "Use OSR") \ | 171 "Use OSR") \ |
166 R(verbose_dev, false, bool, false, \ | 172 R(verbose_dev, false, bool, false, \ |
167 "Enables verbose messages during development.") \ | 173 "Enables verbose messages during development.") \ |
168 P(verbose_gc, bool, false, \ | 174 P(verbose_gc, bool, false, \ |
169 "Enables verbose GC.") \ | 175 "Enables verbose GC.") \ |
170 P(verbose_gc_hdr, int, 40, \ | 176 P(verbose_gc_hdr, int, 40, \ |
171 "Print verbose GC header interval.") \ | 177 "Print verbose GC header interval.") \ |
172 R(verify_after_gc, false, bool, false, \ | 178 R(verify_after_gc, false, bool, false, \ |
173 "Enables heap verification after GC.") \ | 179 "Enables heap verification after GC.") \ |
174 R(verify_before_gc, false, bool, false, \ | 180 R(verify_before_gc, false, bool, false, \ |
175 "Enables heap verification before GC.") \ | 181 "Enables heap verification before GC.") \ |
176 D(verify_on_transition, bool, false, \ | 182 D(verify_on_transition, bool, false, \ |
177 "Verify on dart <==> VM.") \ | 183 "Verify on dart <==> VM.") \ |
178 | 184 |
179 | 185 |
180 #endif // VM_FLAG_LIST_H_ | 186 #endif // VM_FLAG_LIST_H_ |
OLD | NEW |