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 // 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 | 15 // * pre C ompile flags: Generally available flags except when building product |
16 #define FLAG_LIST(P, R, D) \ | 16 // or precompiled runtime. |
17 // | |
18 // Usage: | |
19 // P(name, type, default_value, comment) | |
20 // D(name, type, default_value, comment) | |
21 // R(name, 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) \ | |
17 R(dedup_instructions, true, bool, false, \ | 24 R(dedup_instructions, true, bool, false, \ |
18 "Canonicalize instructions when precompiling.") \ | 25 "Canonicalize instructions when precompiling.") \ |
19 R(disable_alloc_stubs_after_gc, false, bool, false, \ | 26 R(disable_alloc_stubs_after_gc, false, bool, false, \ |
20 "Stress testing flag.") \ | 27 "Stress testing flag.") \ |
21 R(disassemble, false, bool, false, \ | 28 R(disassemble, false, bool, false, \ |
22 "Disassemble dart code.") \ | 29 "Disassemble dart code.") \ |
23 R(disassemble_optimized, false, bool, false, \ | 30 R(disassemble_optimized, false, bool, false, \ |
24 "Disassemble optimized code.") \ | 31 "Disassemble optimized code.") \ |
25 R(dump_symbol_stats, false, bool, false, \ | 32 R(dump_symbol_stats, false, bool, false, \ |
26 "Dump symbol table statistics") \ | 33 "Dump symbol table statistics") \ |
27 R(gc_at_alloc, false, bool, false, \ | 34 R(gc_at_alloc, false, bool, false, \ |
28 "GC at every allocation.") \ | 35 "GC at every allocation.") \ |
36 P(getter_setter_ratio, int, 13, \ | |
37 "Ratio of getter/setter usage used for double field unboxing heuristics") \ | |
38 P(guess_icdata_cid, bool, true, \ | |
39 "Artificially create type feedback for arithmetic etc. operations") \ | |
40 C(lazy_dispatchers, false, true, bool, true, \ | |
41 "Generate dispatchers lazily") \ | |
42 P(max_polymorphic_checks, int, 4, \ | |
43 "Maximum number of polymorphic check, otherwise it is megamorphic.") \ | |
44 P(max_equality_polymorphic_checks, int, 32, \ | |
45 "Maximum number of polymorphic checks in equality operator,") \ | |
46 P(merge_sin_cos, bool, false, \ | |
47 "Merge sin/cos into sincos") \ | |
29 P(new_gen_ext_limit, int, 64, \ | 48 P(new_gen_ext_limit, int, 64, \ |
30 "maximum total external size (MB) in new gen before triggering GC") \ | 49 "maximum total external size (MB) in new gen before triggering GC") \ |
50 C(polymorphic_with_deopt, false, true, bool, true, \ | |
51 "Polymorphic calls with deoptimization / megamorphic call") \ | |
31 R(pretenure_all, false, bool, false, \ | 52 R(pretenure_all, false, bool, false, \ |
32 "Global pretenuring (for testing).") \ | 53 "Global pretenuring (for testing).") \ |
33 P(pretenure_interval, int, 10, \ | 54 P(pretenure_interval, int, 10, \ |
34 "Back off pretenuring after this many cycles.") \ | 55 "Back off pretenuring after this many cycles.") \ |
35 P(pretenure_threshold, int, 98, \ | 56 P(pretenure_threshold, int, 98, \ |
36 "Trigger pretenuring when this many percent are promoted.") \ | 57 "Trigger pretenuring when this many percent are promoted.") \ |
37 R(profiler, false, bool, true, \ | 58 R(profiler, false, bool, true, \ |
38 "Enable the profiler.") \ | 59 "Enable the profiler.") \ |
39 R(support_ast_printer, false, bool, true, \ | 60 R(support_ast_printer, false, bool, true, \ |
40 "Support the AST printer.") \ | 61 "Support the AST printer.") \ |
41 R(support_debugger, false, bool, true, \ | 62 R(support_debugger, false, bool, true, \ |
42 "Support the debugger.") \ | 63 "Support the debugger.") \ |
43 R(support_disassembler, false, bool, true, \ | 64 R(support_disassembler, false, bool, true, \ |
44 "Support the disassembler.") \ | 65 "Support the disassembler.") \ |
45 R(support_il_printer, false, bool, true, \ | 66 R(support_il_printer, false, bool, true, \ |
46 "Support the IL printer.") \ | 67 "Support the IL printer.") \ |
47 R(support_service, false, bool, true, \ | 68 R(support_service, false, bool, true, \ |
48 "Support the service protocol.") \ | 69 "Support the service protocol.") \ |
49 R(support_coverage, false, bool, true, \ | 70 R(support_coverage, false, bool, true, \ |
50 "Support code coverage.") \ | 71 "Support code coverage.") \ |
51 R(support_timeline, false, bool, true, \ | 72 R(support_timeline, false, bool, true, \ |
52 "Support timeline.") \ | 73 "Support timeline.") \ |
74 D(trace_cha, bool, false, \ | |
75 "Trace CHA operations") \ | |
76 D(trace_field_guards, bool, false, \ | |
77 "Trace changes in field's cids.") \ | |
53 D(trace_handles, bool, false, \ | 78 D(trace_handles, bool, false, \ |
54 "Traces allocation of handles.") \ | 79 "Traces allocation of handles.") \ |
80 D(trace_optimization, bool, false, \ | |
81 "Print optimization details."); \ | |
55 D(trace_zones, bool, false, \ | 82 D(trace_zones, bool, false, \ |
56 "Traces allocation sizes in the zone.") \ | 83 "Traces allocation sizes in the zone.") \ |
84 P(truncating_left_shift, bool, true, \ | |
85 "Optimize left shift to truncate if possible") \ | |
86 P(use_cha_deopt, bool, true, \ | |
rmacnak
2016/02/19 23:46:04
Constant false in precompilation, maybe a later CL
Florian Schneider
2016/02/23 15:27:03
Done.
| |
87 "Use class hierarchy analysis even if it can cause deoptimization.") \ | |
57 P(verbose_gc, bool, false, \ | 88 P(verbose_gc, bool, false, \ |
58 "Enables verbose GC.") \ | 89 "Enables verbose GC.") \ |
59 P(verbose_gc_hdr, int, 40, \ | 90 P(verbose_gc_hdr, int, 40, \ |
60 "Print verbose GC header interval.") \ | 91 "Print verbose GC header interval.") \ |
61 R(verify_after_gc, false, bool, false, \ | 92 R(verify_after_gc, false, bool, false, \ |
62 "Enables heap verification after GC.") \ | 93 "Enables heap verification after GC.") \ |
63 R(verify_before_gc, false, bool, false, \ | 94 R(verify_before_gc, false, bool, false, \ |
64 "Enables heap verification before GC.") \ | 95 "Enables heap verification before GC.") \ |
65 | 96 |
66 | 97 |
67 #endif // VM_FLAG_LIST_H_ | 98 #endif // VM_FLAG_LIST_H_ |
OLD | NEW |