| 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 // Don't use USING_DBC outside of this file. |
| 8 #if defined(TARGET_ARCH_DBC) | 9 #if defined(TARGET_ARCH_DBC) |
| 9 #define USING_DBC 1 | 10 #define USING_DBC true |
| 10 #else | 11 #else |
| 11 #define USING_DBC 0 | 12 #define USING_DBC false |
| 13 #endif |
| 14 |
| 15 // Don't use USING_MULTICORE outside of this file. |
| 16 #if defined(ARCH_IS_MULTI_CORE) |
| 17 #define USING_MULTICORE true |
| 18 #else |
| 19 #define USING_MULTICORE false |
| 12 #endif | 20 #endif |
| 13 | 21 |
| 14 // List of all flags in the VM. | 22 // List of all flags in the VM. |
| 15 // Flags can be one of three categories: | 23 // Flags can be one of three categories: |
| 16 // * P roduct flags: Can be set in any of the deployment modes, including in | 24 // * P roduct flags: Can be set in any of the deployment modes, including in |
| 17 // production. | 25 // production. |
| 18 // * D ebug flags: Can only be set in debug VMs, which also have assertions | 26 // * R elease flags: Generally available flags except when building product. |
| 27 // * D ebug flags: Can only be set in debug VMs, which also have C++ assertions |
| 19 // enabled. | 28 // enabled. |
| 20 // * R elease flags: Generally available flags except when building product. | |
| 21 // * pre C ompile flags: Generally available flags except when building product | 29 // * pre C ompile flags: Generally available flags except when building product |
| 22 // or precompiled runtime. | 30 // or precompiled runtime. |
| 23 // | 31 // |
| 24 // Usage: | 32 // Usage: |
| 25 // P(name, type, default_value, comment) | 33 // P(name, type, default_value, comment) |
| 34 // R(name, product_value, type, default_value, comment) |
| 26 // D(name, type, default_value, comment) | 35 // D(name, type, default_value, comment) |
| 27 // R(name, product_value, type, default_value, comment) | |
| 28 // C(name, precompiled_value, product_value, type, default_value, comment) | 36 // C(name, precompiled_value, product_value, type, default_value, comment) |
| 29 #define FLAG_LIST(P, R, D, C) \ | 37 #define FLAG_LIST(P, R, D, C) \ |
| 30 P(always_megamorphic_calls, bool, false, \ | 38 P(always_megamorphic_calls, bool, false, \ |
| 31 "Instance call always as megamorphic.") \ | 39 "Instance call always as megamorphic.") \ |
| 32 P(background_compilation, bool, true, \ | 40 P(background_compilation, bool, USING_MULTICORE, \ |
| 33 "Run optimizing compilation in background") \ | 41 "Run optimizing compilation in background") \ |
| 34 R(background_compilation_stop_alot, false, bool, false, \ | 42 R(background_compilation_stop_alot, false, bool, false, \ |
| 35 "Stress test system: stop background compiler often.") \ | 43 "Stress test system: stop background compiler often.") \ |
| 36 R(break_at_isolate_spawn, false, bool, false, \ | 44 R(break_at_isolate_spawn, false, bool, false, \ |
| 37 "Insert a one-time breakpoint at the entrypoint for all spawned isolates") \ | 45 "Insert a one-time breakpoint at the entrypoint for all spawned isolates") \ |
| 38 C(collect_code, false, true, bool, true, \ | 46 C(collect_code, false, true, bool, true, \ |
| 39 "Attempt to GC infrequently used code.") \ | 47 "Attempt to GC infrequently used code.") \ |
| 40 P(collect_dynamic_function_names, bool, true, \ | 48 P(collect_dynamic_function_names, bool, true, \ |
| 41 "Collects all dynamic function names to identify unique targets") \ | 49 "Collects all dynamic function names to identify unique targets") \ |
| 50 R(concurrent_sweep, USING_MULTICORE, bool, USING_MULTICORE, \ |
| 51 "Concurrent sweep for old generation.") \ |
| 42 R(dedup_instructions, true, bool, false, \ | 52 R(dedup_instructions, true, bool, false, \ |
| 43 "Canonicalize instructions when precompiling.") \ | 53 "Canonicalize instructions when precompiling.") \ |
| 44 C(deoptimize_alot, false, false, bool, false, \ | 54 C(deoptimize_alot, false, false, bool, false, \ |
| 45 "Deoptimizes we are about to return to Dart code from native entries.") \ | 55 "Deoptimizes we are about to return to Dart code from native entries.") \ |
| 46 C(deoptimize_every, 0, 0, int, 0, \ | 56 C(deoptimize_every, 0, 0, int, 0, \ |
| 47 "Deoptimize on every N stack overflow checks") \ | 57 "Deoptimize on every N stack overflow checks") \ |
| 48 R(disable_alloc_stubs_after_gc, false, bool, false, \ | 58 R(disable_alloc_stubs_after_gc, false, bool, false, \ |
| 49 "Stress testing flag.") \ | 59 "Stress testing flag.") \ |
| 50 R(disassemble, false, bool, false, \ | 60 R(disassemble, false, bool, false, \ |
| 51 "Disassemble dart code.") \ | 61 "Disassemble dart code.") \ |
| (...skipping 27 matching lines...) Expand all Loading... |
| 79 P(ic_range_profiling, bool, !USING_DBC, \ | 89 P(ic_range_profiling, bool, !USING_DBC, \ |
| 80 "Generate special IC stubs collecting range information ") \ | 90 "Generate special IC stubs collecting range information ") \ |
| 81 P(interpret_irregexp, bool, USING_DBC, \ | 91 P(interpret_irregexp, bool, USING_DBC, \ |
| 82 "Use irregexp bytecode interpreter") \ | 92 "Use irregexp bytecode interpreter") \ |
| 83 P(lazy_dispatchers, bool, true, \ | 93 P(lazy_dispatchers, bool, true, \ |
| 84 "Generate dispatchers lazily") \ | 94 "Generate dispatchers lazily") \ |
| 85 P(link_natives_lazily, bool, false, \ | 95 P(link_natives_lazily, bool, false, \ |
| 86 "Link native calls lazily") \ | 96 "Link native calls lazily") \ |
| 87 C(load_deferred_eagerly, true, true, bool, false, \ | 97 C(load_deferred_eagerly, true, true, bool, false, \ |
| 88 "Load deferred libraries eagerly.") \ | 98 "Load deferred libraries eagerly.") \ |
| 99 R(log_marker_tasks, false, bool, false, \ |
| 100 "Log debugging information for old gen GC marking tasks.") \ |
| 101 R(marker_tasks, USING_MULTICORE ? 2 : 0, int, USING_MULTICORE ? 2 : 0, \ |
| 102 "The number of tasks to spawn during old gen GC marking (0 means " \ |
| 103 "perform all marking on main thread).") \ |
| 89 P(max_polymorphic_checks, int, 4, \ | 104 P(max_polymorphic_checks, int, 4, \ |
| 90 "Maximum number of polymorphic check, otherwise it is megamorphic.") \ | 105 "Maximum number of polymorphic check, otherwise it is megamorphic.") \ |
| 91 P(max_equality_polymorphic_checks, int, 32, \ | 106 P(max_equality_polymorphic_checks, int, 32, \ |
| 92 "Maximum number of polymorphic checks in equality operator,") \ | 107 "Maximum number of polymorphic checks in equality operator,") \ |
| 93 P(merge_sin_cos, bool, false, \ | 108 P(merge_sin_cos, bool, false, \ |
| 94 "Merge sin/cos into sincos") \ | 109 "Merge sin/cos into sincos") \ |
| 95 P(new_gen_ext_limit, int, 64, \ | 110 P(new_gen_ext_limit, int, 64, \ |
| 96 "maximum total external size (MB) in new gen before triggering GC") \ | 111 "maximum total external size (MB) in new gen before triggering GC") \ |
| 97 P(new_gen_semi_max_size, int, (kWordSize <= 4) ? 16 : 32, \ | 112 P(new_gen_semi_max_size, int, (kWordSize <= 4) ? 16 : 32, \ |
| 98 "Max size of new gen semi space in MB") \ | 113 "Max size of new gen semi space in MB") \ |
| (...skipping 76 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 175 "Enables verbose GC.") \ | 190 "Enables verbose GC.") \ |
| 176 P(verbose_gc_hdr, int, 40, \ | 191 P(verbose_gc_hdr, int, 40, \ |
| 177 "Print verbose GC header interval.") \ | 192 "Print verbose GC header interval.") \ |
| 178 R(verify_after_gc, false, bool, false, \ | 193 R(verify_after_gc, false, bool, false, \ |
| 179 "Enables heap verification after GC.") \ | 194 "Enables heap verification after GC.") \ |
| 180 R(verify_before_gc, false, bool, false, \ | 195 R(verify_before_gc, false, bool, false, \ |
| 181 "Enables heap verification before GC.") \ | 196 "Enables heap verification before GC.") \ |
| 182 D(verify_on_transition, bool, false, \ | 197 D(verify_on_transition, bool, false, \ |
| 183 "Verify on dart <==> VM.") \ | 198 "Verify on dart <==> VM.") \ |
| 184 | 199 |
| 185 | |
| 186 #endif // VM_FLAG_LIST_H_ | 200 #endif // VM_FLAG_LIST_H_ |
| OLD | NEW |