Flutter Engine
The Flutter Engine
Loading...
Searching...
No Matches
Macros | Variables
flag_list.h File Reference
#include "platform/thread_sanitizer.h"

Go to the source code of this file.

Macros

#define USING_PRODUCT   false
 
#define DISASSEMBLE_FLAGS(P, R, C, D)
 
#define VM_GLOBAL_FLAG_LIST(P, R, C, D)
 
#define FLAG_LIST(P, R, C, D)
 

Variables

constexpr bool kDartPrecompiledRuntime = false
 
constexpr intptr_t kDefaultOptimizationCounterThreshold = 30000
 
constexpr bool FLAG_support_il_printer = false
 

Macro Definition Documentation

◆ DISASSEMBLE_FLAGS

#define DISASSEMBLE_FLAGS (   P,
  R,
  C,
  D 
)
Value:
R(disassemble, false, bool, false, "Disassemble dart code.") \
R(disassemble_optimized, false, bool, false, "Disassemble optimized code.") \
R(disassemble_relative, false, bool, false, \
"Use offsets instead of absolute PCs") \
R(disassemble_stubs, false, bool, false, "Disassemble generated stubs.") \
R(support_disassembler, false, bool, true, "Support the disassembler.")
#define R(r)

Definition at line 36 of file flag_list.h.

112 :mirrors an error.") \
113 P(enable_ffi, bool, true, "Disable to make importing dart:ffi an error.") \
114 P(force_clone_compiler_objects, bool, false, \
115 "Force cloning of objects needed in compiler (ICData and Field).") \
116 P(guess_icdata_cid, bool, true, \
117 "Artificially create type feedback for arithmetic etc. operations") \
118 P(huge_method_cutoff_in_ast_nodes, int, 10000, \
119 "Huge method cutoff in AST nodes: Disables optimizations for huge " \
120 "methods.") \
121 P(idle_timeout_micros, int, 61 * kMicrosecondsPerSecond, \
122 "Consider thread pool isolates for idle tasks after this long.") \
123 P(idle_duration_micros, int, kMaxInt32, \
124 "Allow idle tasks to run for this long.") \
125 P(interpret_irregexp, bool, false, "Use irregexp bytecode interpreter") \
126 P(link_natives_lazily, bool, false, "Link native calls lazily") \
127 R(log_marker_tasks, false, bool, false, \
128 "Log debugging information for old gen GC marking tasks.") \
129 P(scavenger_tasks, int, 2, \
130 "The number of tasks to spawn during scavenging (0 means " \
131 "perform all marking on main thread).") \
132 P(mark_when_idle, bool, false, \
133 "The Dart thread will assist in concurrent marking during idle time and " \
134 "is counted as one marker task") \
135 P(marker_tasks, int, 2, \
136 "The number of tasks to spawn during old gen GC marking (0 means " \
137 "perform all marking on main thread).") \
138 P(hash_map_probes_limit, int, kMaxInt32, \
139 "Limit number of probes while doing lookups in hash maps.") \
140 P(max_polymorphic_checks, int, 4, \
141 "Maximum number of polymorphic check, otherwise it is megamorphic.") \
142 P(max_equality_polymorphic_checks, int, 32, \
143 "Maximum number of polymorphic checks in equality operator,") \
144 P(new_gen_semi_max_size, int, kDefaultNewGenSemiMaxSize, \
145 "Max size of new gen semi space in MB") \
146 P(new_gen_semi_initial_size, int, (kWordSize <= 4) ? 1 : 2, \
147 "Initial size of new gen semi space in MB") \
148 P(optimization_counter_threshold, int, kDefaultOptimizationCounterThreshold, \
149 "Function's usage-counter value before it is optimized, -1 means never") \
150 P(optimization_level, int, 2, \
151 "Optimization level: 1 (favor size), 2 (default), 3 (favor speed)") \
152 P(old_gen_heap_size, int, kDefaultMaxOldGenHeapSize, \
153 "Max size of old gen heap size in MB, or 0 for unlimited," \
154 "e.g: --old_gen_heap_size=1024 allows up to 1024MB old gen heap") \
155 R(pause_isolates_on_start, false, bool, false, \
156 "Pause isolates before starting.") \
157 R(pause_isolates_on_exit, false, bool, false, "Pause isolates exiting.") \
158 R(pause_isolates_on_unhandled_exceptions, false, bool, false, \
159 "Pause isolates on unhandled exceptions.") \
160 P(polymorphic_with_deopt, bool, true, \
161 "Polymorphic calls with deoptimization / megamorphic call") \
162 P(precompiled_mode, bool, false, "Precompilation compiler mode") \
163 P(print_snapshot_sizes, bool, false, "Print sizes of generated snapshots.") \
164 P(print_snapshot_sizes_verbose, bool, false, \
165 "Print cluster sizes of generated snapshots.") \
166 R(print_ssa_liveranges, false, bool, false, \
167 "Print live ranges after allocation.") \
168 R(print_stacktrace_at_api_error, false, bool, false, \
169 "Attempt to print a native stack trace when an API error is created.") \
170 D(print_variable_descriptors, bool, false, \
171 "Print variable descriptors in disassembly.") \
172 R(profiler, false, bool, false, "Enable the profiler.") \
173 R(profiler_native_memory, false, bool, false, \
174 "Enable native memory statistic collection.") \
175 P(reorder_basic_blocks, bool, true, "Reorder basic blocks") \
176 C(stress_async_stacks, false, false, bool, false, \
177 "Stress test async stack traces") \
178 P(retain_function_objects, bool, true, \
179 "Serialize function objects for all code objects even if not otherwise " \
180 "needed in the precompiled runtime.") \
181 P(retain_code_objects, bool, true, \
182 "Serialize all code objects even if not otherwise " \
183 "needed in the precompiled runtime.") \
184 P(show_invisible_frames, bool, false, \
185 "Show invisible frames in stack traces.") \
186 P(target_unknown_cpu, bool, false, \
187 "Generate code for a generic CPU, unknown at compile time") \
188 D(trace_cha, bool, false, "Trace CHA operations") \
189 R(trace_field_guards, false, bool, false, "Trace changes in field's cids.") \
190 D(trace_finalizers, bool, false, "Traces finalizers.") \
191 D(trace_ic, bool, false, "Trace IC handling") \
192 D(trace_ic_miss_in_optimized, bool, false, \
193 "Trace IC miss in optimized code") \
194 C(trace_irregexp, false, false, bool, false, "Trace irregexps.") \
195 D(trace_intrinsified_natives, bool, false, \
196 "Report if any of the intrinsified natives are called") \
197 D(trace_isolates, bool, false, "Trace isolate creation and shut down.") \
198 D(trace_handles, bool, false, "Traces allocation of handles.") \
199 D(trace_kernel_binary, bool, false, "Trace Kernel reader/writer.") \
200 D(trace_natives, bool, false, "Trace invocation of natives") \
201 D(trace_optimization, bool, false, "Print optimization details.") \
202 R(trace_profiler, false, bool, false, "Profiler trace") \
203 D(trace_profiler_verbose, bool, false, "Verbose profiler trace") \
204 D(trace_runtime_calls, bool, false, "Trace runtime calls.") \
205 R(trace_ssa_allocator, false, bool, false, \
206 "Trace register allocation over SSA.") \
207 P(trace_strong_mode_types, bool, false, \
208 "Trace optimizations based on strong mode types.") \
209 D(trace_type_checks, bool, false, "Trace runtime type checks.") \
210 D(trace_type_checks_verbose, bool, false, \
211 "Enable verbose trace of runtime type checks.") \
212 D(trace_patching, bool, false, "Trace patching of code.") \
213 D(trace_optimized_ic_calls, bool, false, \
214 "Trace IC calls in optimized code.") \
215 D(trace_zones, bool, false, "Traces allocation sizes in the zone.") \
216 P(truncating_left_shift, bool, true, \
217 "Optimize left shift to truncate if possible") \
218 P(use_compactor, bool, false, "Compact the heap during old-space GC.") \
219 P(use_cha_deopt, bool, true, \
220 "Use class hierarchy analysis even if it can cause deoptimization.") \
221 P(use_field_guards, bool, true, "Use field guards and track field types") \
222 C(use_osr, false, true, bool, true, "Use OSR") \
223 P(use_slow_path, bool, false, "Whether to avoid inlined fast paths.") \
224 P(verbose_gc, bool, false, "Enables verbose GC.") \
225 P(verbose_gc_hdr, int, 40, "Print verbose GC header interval.") \
226 R(verify_after_gc, false, bool, false, \
227 "Enables heap verification after GC.") \
228 R(verify_before_gc, false, bool, false, \
229 "Enables heap verification before GC.") \
230 R(verify_store_buffer, false, bool, false, \
231 "Enables store buffer verification before and after scavenges.") \
232 R(verify_after_marking, false, bool, false, \
233 "Enables heap verification after marking.") \
234 P(enable_slow_path_sharing, bool, true, "Enable sharing of slow-path code.") \
235 P(shared_slow_path_triggers_gc, bool, false, \
236 "TESTING: slow-path triggers a GC.") \
237 P(enable_multiple_entrypoints, bool, true, \
238 "Enable multiple entrypoints per-function and related optimizations.") \
239 P(enable_testing_pragmas, bool, false, \
240 "Enable magical pragmas for testing purposes. Use at your own risk!") \
241 R(eliminate_type_checks, true, bool, true, \
242 "Eliminate type checks when allowed by static type analysis.") \
243 D(support_rr, bool, false, "Support running within RR.") \
244 P(verify_entry_points, bool, false, \
245 "Throw API error on invalid member access through native API. See " \
246 "entry_point_pragma.md") \
247 C(branch_coverage, false, false, bool, false, "Enable branch coverage")
248
249#endif // RUNTIME_VM_FLAG_LIST_H_
AutoreleasePool pool
static const char marker[]
#define check(reporter, ref, unref, make, kill)
static uint32_t hash(const SkShaderBase::GradientInfo &v)
static bool left(const SkPoint &p0, const SkPoint &p1)
SI void store(P *ptr, const T &val)
struct MyStruct s
struct MyStruct a[10]
if(end==-1)
static const uint8_t buffer[]
const uint8_t uint32_t uint32_t GError ** error
static sk_sp< SkImage > make(sk_sp< SkColorSpace > cs)
Definition mipmap.cpp:65
void Log(const char *format,...) SK_PRINTF_LIKE(1
constexpr intptr_t MB
Definition globals.h:530
DEF_SWITCHES_START aot vmservice shared library Name of the *so containing AOT compiled Dart assets for launching the service isolate vm snapshot The VM snapshot data that will be memory mapped as read only SnapshotAssetPath must be present isolate snapshot The isolate snapshot data that will be memory mapped as read only SnapshotAssetPath must be present cache dir path
Definition switches.h:57
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive mode
Definition switches.h:228
it will be possible to load the file into Perfetto s trace viewer disable asset Prevents usage of any non test fonts unless they were explicitly Loaded via prefetched default font Indicates whether the embedding started a prefetch of the default font manager before creating the engine run In non interactive keep the shell running after the Dart script has completed enable serial On low power devices with low core running concurrent GC tasks on threads can cause them to contend with the UI thread which could potentially lead to jank This option turns off all concurrent GC activities domain network JSON encoded network policy per domain This overrides the DisallowInsecureConnections switch Embedder can specify whether to allow or disallow insecure connections at a domain level old gen heap size
Definition switches.h:259
Definition gen.py:1
Definition main.py:1
Definition run.py:1
SIT bool any(const Vec< 1, T > &x)
Definition SkVx.h:530
static const char header[]
Definition skpbench.cpp:88

◆ FLAG_LIST

#define FLAG_LIST (   P,
  R,
  C,
  D 
)

Definition at line 81 of file flag_list.h.

112 :mirrors an error.") \
113 P(enable_ffi, bool, true, "Disable to make importing dart:ffi an error.") \
114 P(force_clone_compiler_objects, bool, false, \
115 "Force cloning of objects needed in compiler (ICData and Field).") \
116 P(guess_icdata_cid, bool, true, \
117 "Artificially create type feedback for arithmetic etc. operations") \
118 P(huge_method_cutoff_in_ast_nodes, int, 10000, \
119 "Huge method cutoff in AST nodes: Disables optimizations for huge " \
120 "methods.") \
121 P(idle_timeout_micros, int, 61 * kMicrosecondsPerSecond, \
122 "Consider thread pool isolates for idle tasks after this long.") \
123 P(idle_duration_micros, int, kMaxInt32, \
124 "Allow idle tasks to run for this long.") \
125 P(interpret_irregexp, bool, false, "Use irregexp bytecode interpreter") \
126 P(link_natives_lazily, bool, false, "Link native calls lazily") \
127 R(log_marker_tasks, false, bool, false, \
128 "Log debugging information for old gen GC marking tasks.") \
129 P(scavenger_tasks, int, 2, \
130 "The number of tasks to spawn during scavenging (0 means " \
131 "perform all marking on main thread).") \
132 P(mark_when_idle, bool, false, \
133 "The Dart thread will assist in concurrent marking during idle time and " \
134 "is counted as one marker task") \
135 P(marker_tasks, int, 2, \
136 "The number of tasks to spawn during old gen GC marking (0 means " \
137 "perform all marking on main thread).") \
138 P(hash_map_probes_limit, int, kMaxInt32, \
139 "Limit number of probes while doing lookups in hash maps.") \
140 P(max_polymorphic_checks, int, 4, \
141 "Maximum number of polymorphic check, otherwise it is megamorphic.") \
142 P(max_equality_polymorphic_checks, int, 32, \
143 "Maximum number of polymorphic checks in equality operator,") \
144 P(new_gen_semi_max_size, int, kDefaultNewGenSemiMaxSize, \
145 "Max size of new gen semi space in MB") \
146 P(new_gen_semi_initial_size, int, (kWordSize <= 4) ? 1 : 2, \
147 "Initial size of new gen semi space in MB") \
148 P(optimization_counter_threshold, int, kDefaultOptimizationCounterThreshold, \
149 "Function's usage-counter value before it is optimized, -1 means never") \
150 P(optimization_level, int, 2, \
151 "Optimization level: 1 (favor size), 2 (default), 3 (favor speed)") \
152 P(old_gen_heap_size, int, kDefaultMaxOldGenHeapSize, \
153 "Max size of old gen heap size in MB, or 0 for unlimited," \
154 "e.g: --old_gen_heap_size=1024 allows up to 1024MB old gen heap") \
155 R(pause_isolates_on_start, false, bool, false, \
156 "Pause isolates before starting.") \
157 R(pause_isolates_on_exit, false, bool, false, "Pause isolates exiting.") \
158 R(pause_isolates_on_unhandled_exceptions, false, bool, false, \
159 "Pause isolates on unhandled exceptions.") \
160 P(polymorphic_with_deopt, bool, true, \
161 "Polymorphic calls with deoptimization / megamorphic call") \
162 P(precompiled_mode, bool, false, "Precompilation compiler mode") \
163 P(print_snapshot_sizes, bool, false, "Print sizes of generated snapshots.") \
164 P(print_snapshot_sizes_verbose, bool, false, \
165 "Print cluster sizes of generated snapshots.") \
166 R(print_ssa_liveranges, false, bool, false, \
167 "Print live ranges after allocation.") \
168 R(print_stacktrace_at_api_error, false, bool, false, \
169 "Attempt to print a native stack trace when an API error is created.") \
170 D(print_variable_descriptors, bool, false, \
171 "Print variable descriptors in disassembly.") \
172 R(profiler, false, bool, false, "Enable the profiler.") \
173 R(profiler_native_memory, false, bool, false, \
174 "Enable native memory statistic collection.") \
175 P(reorder_basic_blocks, bool, true, "Reorder basic blocks") \
176 C(stress_async_stacks, false, false, bool, false, \
177 "Stress test async stack traces") \
178 P(retain_function_objects, bool, true, \
179 "Serialize function objects for all code objects even if not otherwise " \
180 "needed in the precompiled runtime.") \
181 P(retain_code_objects, bool, true, \
182 "Serialize all code objects even if not otherwise " \
183 "needed in the precompiled runtime.") \
184 P(show_invisible_frames, bool, false, \
185 "Show invisible frames in stack traces.") \
186 P(target_unknown_cpu, bool, false, \
187 "Generate code for a generic CPU, unknown at compile time") \
188 D(trace_cha, bool, false, "Trace CHA operations") \
189 R(trace_field_guards, false, bool, false, "Trace changes in field's cids.") \
190 D(trace_finalizers, bool, false, "Traces finalizers.") \
191 D(trace_ic, bool, false, "Trace IC handling") \
192 D(trace_ic_miss_in_optimized, bool, false, \
193 "Trace IC miss in optimized code") \
194 C(trace_irregexp, false, false, bool, false, "Trace irregexps.") \
195 D(trace_intrinsified_natives, bool, false, \
196 "Report if any of the intrinsified natives are called") \
197 D(trace_isolates, bool, false, "Trace isolate creation and shut down.") \
198 D(trace_handles, bool, false, "Traces allocation of handles.") \
199 D(trace_kernel_binary, bool, false, "Trace Kernel reader/writer.") \
200 D(trace_natives, bool, false, "Trace invocation of natives") \
201 D(trace_optimization, bool, false, "Print optimization details.") \
202 R(trace_profiler, false, bool, false, "Profiler trace") \
203 D(trace_profiler_verbose, bool, false, "Verbose profiler trace") \
204 D(trace_runtime_calls, bool, false, "Trace runtime calls.") \
205 R(trace_ssa_allocator, false, bool, false, \
206 "Trace register allocation over SSA.") \
207 P(trace_strong_mode_types, bool, false, \
208 "Trace optimizations based on strong mode types.") \
209 D(trace_type_checks, bool, false, "Trace runtime type checks.") \
210 D(trace_type_checks_verbose, bool, false, \
211 "Enable verbose trace of runtime type checks.") \
212 D(trace_patching, bool, false, "Trace patching of code.") \
213 D(trace_optimized_ic_calls, bool, false, \
214 "Trace IC calls in optimized code.") \
215 D(trace_zones, bool, false, "Traces allocation sizes in the zone.") \
216 P(truncating_left_shift, bool, true, \
217 "Optimize left shift to truncate if possible") \
218 P(use_compactor, bool, false, "Compact the heap during old-space GC.") \
219 P(use_cha_deopt, bool, true, \
220 "Use class hierarchy analysis even if it can cause deoptimization.") \
221 P(use_field_guards, bool, true, "Use field guards and track field types") \
222 C(use_osr, false, true, bool, true, "Use OSR") \
223 P(use_slow_path, bool, false, "Whether to avoid inlined fast paths.") \
224 P(verbose_gc, bool, false, "Enables verbose GC.") \
225 P(verbose_gc_hdr, int, 40, "Print verbose GC header interval.") \
226 R(verify_after_gc, false, bool, false, \
227 "Enables heap verification after GC.") \
228 R(verify_before_gc, false, bool, false, \
229 "Enables heap verification before GC.") \
230 R(verify_store_buffer, false, bool, false, \
231 "Enables store buffer verification before and after scavenges.") \
232 R(verify_after_marking, false, bool, false, \
233 "Enables heap verification after marking.") \
234 P(enable_slow_path_sharing, bool, true, "Enable sharing of slow-path code.") \
235 P(shared_slow_path_triggers_gc, bool, false, \
236 "TESTING: slow-path triggers a GC.") \
237 P(enable_multiple_entrypoints, bool, true, \
238 "Enable multiple entrypoints per-function and related optimizations.") \
239 P(enable_testing_pragmas, bool, false, \
240 "Enable magical pragmas for testing purposes. Use at your own risk!") \
241 R(eliminate_type_checks, true, bool, true, \
242 "Eliminate type checks when allowed by static type analysis.") \
243 D(support_rr, bool, false, "Support running within RR.") \
244 P(verify_entry_points, bool, false, \
245 "Throw API error on invalid member access through native API. See " \
246 "entry_point_pragma.md") \
247 C(branch_coverage, false, false, bool, false, "Enable branch coverage")

◆ USING_PRODUCT

#define USING_PRODUCT   false

Definition at line 14 of file flag_list.h.

◆ VM_GLOBAL_FLAG_LIST

#define VM_GLOBAL_FLAG_LIST (   P,
  R,
  C,
  D 
)
Value:
P(code_comments, bool, false, "Include comments into code and disassembly.") \
P(dwarf_stack_traces_mode, bool, false, \
"Use --[no-]dwarf-stack-traces instead.") \
P(lazy_dispatchers, bool, true, "Generate dispatchers lazily") \
R(dedup_instructions, true, bool, false, \
"Canonicalize instructions when precompiling.")

Definition at line 58 of file flag_list.h.

Variable Documentation

◆ FLAG_support_il_printer

constexpr bool FLAG_support_il_printer = false
constexpr

Definition at line 48 of file flag_list.h.

◆ kDartPrecompiledRuntime

constexpr bool kDartPrecompiledRuntime = false
constexpr

Definition at line 20 of file flag_list.h.

◆ kDefaultOptimizationCounterThreshold

constexpr intptr_t kDefaultOptimizationCounterThreshold = 30000
constexpr

Definition at line 23 of file flag_list.h.