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 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
58 P(fields_may_be_reset, bool, false, \ | 64 P(fields_may_be_reset, bool, false, \ |
59 "Don't optimize away static field initialization") \ | 65 "Don't optimize away static field initialization") \ |
60 C(force_clone_compiler_objects, false, false, bool, false, \ | 66 C(force_clone_compiler_objects, false, false, bool, false, \ |
61 "Force cloning of objects needed in compiler (ICData and Field).") \ | 67 "Force cloning of objects needed in compiler (ICData and Field).") \ |
62 R(gc_at_alloc, false, bool, false, \ | 68 R(gc_at_alloc, false, bool, false, \ |
63 "GC at every allocation.") \ | 69 "GC at every allocation.") \ |
64 P(getter_setter_ratio, int, 13, \ | 70 P(getter_setter_ratio, int, 13, \ |
65 "Ratio of getter/setter usage used for double field unboxing heuristics") \ | 71 "Ratio of getter/setter usage used for double field unboxing heuristics") \ |
66 P(guess_icdata_cid, bool, true, \ | 72 P(guess_icdata_cid, bool, true, \ |
67 "Artificially create type feedback for arithmetic etc. operations") \ | 73 "Artificially create type feedback for arithmetic etc. operations") \ |
68 P(ic_range_profiling, bool, true, \ | 74 P(ic_range_profiling, bool, !USING_DBC, \ |
69 "Generate special IC stubs collecting range information ") \ | 75 "Generate special IC stubs collecting range information ") \ |
70 P(interpret_irregexp, bool, false, \ | 76 P(interpret_irregexp, bool, USING_DBC, \ |
71 "Use irregexp bytecode interpreter") \ | 77 "Use irregexp bytecode interpreter") \ |
72 P(lazy_dispatchers, bool, true, \ | 78 P(lazy_dispatchers, bool, true, \ |
73 "Generate dispatchers lazily") \ | 79 "Generate dispatchers lazily") \ |
74 P(link_natives_lazily, bool, false, \ | 80 P(link_natives_lazily, bool, false, \ |
75 "Link native calls lazily") \ | 81 "Link native calls lazily") \ |
76 C(load_deferred_eagerly, true, true, bool, false, \ | 82 C(load_deferred_eagerly, true, true, bool, false, \ |
77 "Load deferred libraries eagerly.") \ | 83 "Load deferred libraries eagerly.") \ |
78 P(max_polymorphic_checks, int, 4, \ | 84 P(max_polymorphic_checks, int, 4, \ |
79 "Maximum number of polymorphic check, otherwise it is megamorphic.") \ | 85 "Maximum number of polymorphic check, otherwise it is megamorphic.") \ |
80 P(max_equality_polymorphic_checks, int, 32, \ | 86 P(max_equality_polymorphic_checks, int, 32, \ |
(...skipping 15 matching lines...) Expand all Loading... |
96 P(pretenure_interval, int, 10, \ | 102 P(pretenure_interval, int, 10, \ |
97 "Back off pretenuring after this many cycles.") \ | 103 "Back off pretenuring after this many cycles.") \ |
98 P(pretenure_threshold, int, 98, \ | 104 P(pretenure_threshold, int, 98, \ |
99 "Trigger pretenuring when this many percent are promoted.") \ | 105 "Trigger pretenuring when this many percent are promoted.") \ |
100 R(print_ssa_liveness, false, bool, false, \ | 106 R(print_ssa_liveness, false, bool, false, \ |
101 "Print liveness for ssa variables.") \ | 107 "Print liveness for ssa variables.") \ |
102 R(print_ssa_liveranges, false, bool, false, \ | 108 R(print_ssa_liveranges, false, bool, false, \ |
103 "Print live ranges after allocation.") \ | 109 "Print live ranges after allocation.") \ |
104 C(print_stop_message, false, false, bool, false, \ | 110 C(print_stop_message, false, false, bool, false, \ |
105 "Print stop message.") \ | 111 "Print stop message.") \ |
106 R(profiler, false, bool, true, \ | 112 R(profiler, false, bool, !USING_DBC, \ |
107 "Enable the profiler.") \ | 113 "Enable the profiler.") \ |
108 P(reorder_basic_blocks, bool, true, \ | 114 P(reorder_basic_blocks, bool, true, \ |
109 "Reorder basic blocks") \ | 115 "Reorder basic blocks") \ |
110 R(support_ast_printer, false, bool, true, \ | 116 R(support_ast_printer, false, bool, true, \ |
111 "Support the AST printer.") \ | 117 "Support the AST printer.") \ |
112 R(support_compiler_stats, false, bool, true, \ | 118 R(support_compiler_stats, false, bool, true, \ |
113 "Support compiler stats.") \ | 119 "Support compiler stats.") \ |
114 R(support_debugger, false, bool, true, \ | 120 R(support_debugger, false, bool, true, \ |
115 "Support the debugger.") \ | 121 "Support the debugger.") \ |
116 R(support_disassembler, false, bool, true, \ | 122 R(support_disassembler, false, bool, true, \ |
(...skipping 15 matching lines...) Expand all Loading... |
132 D(trace_optimization, bool, false, \ | 138 D(trace_optimization, bool, false, \ |
133 "Print optimization details."); \ | 139 "Print optimization details."); \ |
134 D(trace_ssa_allocator, bool, false, \ | 140 D(trace_ssa_allocator, bool, false, \ |
135 "Trace register allocation over SSA.") \ | 141 "Trace register allocation over SSA.") \ |
136 D(trace_zones, bool, false, \ | 142 D(trace_zones, bool, false, \ |
137 "Traces allocation sizes in the zone.") \ | 143 "Traces allocation sizes in the zone.") \ |
138 P(truncating_left_shift, bool, true, \ | 144 P(truncating_left_shift, bool, true, \ |
139 "Optimize left shift to truncate if possible") \ | 145 "Optimize left shift to truncate if possible") \ |
140 P(use_cha_deopt, bool, true, \ | 146 P(use_cha_deopt, bool, true, \ |
141 "Use class hierarchy analysis even if it can cause deoptimization.") \ | 147 "Use class hierarchy analysis even if it can cause deoptimization.") \ |
142 P(use_field_guards, bool, true, \ | 148 P(use_field_guards, bool, !USING_DBC, \ |
143 "Use field guards and track field types") \ | 149 "Use field guards and track field types") \ |
144 C(use_osr, false, true, bool, true, \ | 150 C(use_osr, false, true, bool, true, \ |
145 "Use OSR") \ | 151 "Use OSR") \ |
146 P(verbose_gc, bool, false, \ | 152 P(verbose_gc, bool, false, \ |
147 "Enables verbose GC.") \ | 153 "Enables verbose GC.") \ |
148 P(verbose_gc_hdr, int, 40, \ | 154 P(verbose_gc_hdr, int, 40, \ |
149 "Print verbose GC header interval.") \ | 155 "Print verbose GC header interval.") \ |
150 R(verify_after_gc, false, bool, false, \ | 156 R(verify_after_gc, false, bool, false, \ |
151 "Enables heap verification after GC.") \ | 157 "Enables heap verification after GC.") \ |
152 R(verify_before_gc, false, bool, false, \ | 158 R(verify_before_gc, false, bool, false, \ |
153 "Enables heap verification before GC.") \ | 159 "Enables heap verification before GC.") \ |
154 D(verify_on_transition, bool, false, \ | 160 D(verify_on_transition, bool, false, \ |
155 "Verify on dart <==> VM.") \ | 161 "Verify on dart <==> VM.") \ |
156 | 162 |
157 #endif // VM_FLAG_LIST_H_ | 163 #endif // VM_FLAG_LIST_H_ |
OLD | NEW |