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

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

Issue 1714743002: VM: Separate precompilation-specific code, make flags const. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: addressed comments Created 4 years, 10 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 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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698