Usage: dart [<vm-flags>] <dart-script-file> [<script-arguments>]

Executes the Dart script <dart-script-file> with the given list of <script-arguments>.

Supported options:
--enable-asserts
  Enable assert statements.
--help or -h
  Display this message (add -v or --verbose for information about
  all VM options).
--packages=<path>
  Where to find a package spec file.
--define=<key>=<value> or -D<key>=<value>
  Define an environment declaration. To specify multiple declarations,
  use multiple instances of this option.
--observe[=<port>[/<bind-address>]]
  The observe flag is a convenience flag used to run a program with a
  set of options which are often useful for debugging under Observatory.
  These options are currently:
      --enable-vm-service[=<port>[/<bind-address>]]
      --serve-devtools
      --pause-isolates-on-exit
      --pause-isolates-on-unhandled-exceptions
      --warn-on-pause-with-no-debugger
      --timeline-streams="Compiler, Dart, GC"
  This set is subject to change.
  Please see these options for further documentation.
--version
  Print the VM version.

--trace-loading
  enables tracing of library and script loading

--enable-vm-service[=<port>[/<bind-address>]]
  Enables the VM service and listens on specified port for connections
  (default port number is 8181, default bind address is localhost).

--disable-service-auth-codes
  Disables the requirement for an authentication code to communicate with
  the VM service. Authentication codes help protect against CSRF attacks,
  so it is not recommended to disable them unless behind a firewall on a
  secure device.

--enable-service-port-fallback
  When the VM service is told to bind to a particular port, fallback to 0 if
  it fails to bind instead of failing to start.

--root-certs-file=<path>
  The path to a file containing the trusted root certificates to use for
  secure socket connections.
--root-certs-cache=<path>
  The path to a cache directory containing the trusted root certificates to
  use for secure socket connections.
--namespace=<path>
  The path to a directory that dart:io calls will treat as the root of the
  filesystem.

The following options are only used for VM development and may
be changed in any future version:
Flag settings:
abort_on_oom: false (Abort if memory allocation fails - use only with --old-gen-heap-size)
add_readonly_data_symbols: false (Add static symbols for objects in snapshot read-only data)
align_all_loops: false (Align all loop headers to 32 byte boundary)
array_bounds_check_elimination: true (Eliminate redundant bounds checks.)
background_compilation: true (Run optimizing compilation in background)
branch_coverage: false (Enable branch coverage)
check_code_pointer: false (Verify instructions offset in code object.NOTE: This breaks the profiler.)
check_reloaded: false (Assert that an isolate has reloaded at least once.)
check_token_positions: false (Check validity of token positions while compiling flow graphs)
code_comments: false (Include comments into code and disassembly.)
collect_dynamic_function_names: true (Collects all dynamic function names to identify unique targets)
compactor_tasks: 2 (The number of tasks to use for parallel compaction.)
compiler_passes: (List of comma separated compilation passes flags. Use -Name to disable a pass, Name to print IL after it. Do --compiler-passes=help for more information.)
complete_timeline: false (Record the complete timeline)
compress_deopt_info: true (Compress the size of the deoptimization info for optimized code.)
concurrent_mark: true (Concurrent mark for old generation.)
concurrent_sweep: true (Concurrent sweep for old generation.)
coverage: true (Enable coverage)
dead_store_elimination: true (Eliminate dead stores)
dedup_instructions: false (Canonicalize instructions when precompiling.)
deoptimization_counter_inlining_threshold: 12 (How many times we allow deoptimization before we stop inlining.)
deoptimize_alot: false (Deoptimizes we are about to return to Dart code from native entries.)
deoptimize_every: 0 (Deoptimize on every N stack overflow checks)
deoptimize_filter: (null) (Deoptimize in named function on stack overflow checks)
deoptimize_on_runtime_call_every: 0 (Deoptimize functions on every runtime call.)
deoptimize_on_runtime_call_name_filter: (null) (Runtime call name filter for --deoptimize-on-runtime-call-every.)
deterministic: (Enable deterministic mode.)
disable_heap_verification: false (Explicitly disable heap verification.)
disable_thread_pool_limit: false (Disables the limit of the thread pool (simulates custom embedder with custom message handler on unlimited number of threads).)
disassemble: false (Disassemble dart code.)
disassemble_optimized: false (Disassemble optimized code.)
disassemble_relative: false (Use offsets instead of absolute PCs)
disassemble_stubs: false (Disassemble generated stubs.)
display_sorted_ic_data: false (Calls display a unary, sorted-by count form of ICData)
dontneed_on_sweep: false (madvise(DONTNEED) free areas in partially used heap regions)
dump_megamorphic_stats: false (Dump megamorphic cache statistics)
dump_symbol_stats: false (Dump symbol table statistics)
dump_tables: false (Dump common hash tables before snapshotting.)
dwarf_stack_traces: (Omit CodeSourceMaps in precompiled snapshots and don't symbolize stack traces in the precompiled runtime.)
dwarf_stack_traces_mode: false (Use --[no-]dwarf-stack-traces instead.)
early_tenuring_threshold: 66 (When more than this percentage of promotion candidates survive, promote all survivors of next scavenge.)
eliminate_type_checks: true (Eliminate type checks when allowed by static type analysis.)
enable_asserts: false (Enable assert statements.)
enable_deprecated_wait_for: false (Enable deprecated dart:cli waitFor. This feature will be fully removed in Dart 3.4 release. See https://dartbug.com/52121.)
enable_experiment: (Comma separated list of experimental features.)
enable_fast_object_copy: true (Enable fast path for fast object copy.)
enable_ffi: true (Disable to make importing dart:ffi an error.)
enable_mirrors: true (Disable to make importing dart:mirrors an error.)
enable_multiple_entrypoints: true (Enable multiple entrypoints per-function and related optimizations.)
enable_peephole: true (Enable peephole optimization)
enable_simd_inline: true (Enable inlining of SIMD related method calls.)
enable_slow_path_sharing: true (Enable sharing of slow-path code.)
enable_testing_pragmas: false (Enable magical pragmas for testing purposes. Use at your own risk!)
experimental_shared_data: (Enable experiment to share data between isolates.)
force_clone_compiler_objects: false (Force cloning of objects needed in compiler (ICData and Field).)
force_evacuation: false (Force compaction to move every movable object)
force_indirect_calls: false (Do not emit PC relative calls.)
force_log_flush: false (Always flush log messages.)
force_log_flush_at_size: 0 (Flush log messages when buffer exceeds given size (disabled when 0).)
force_switch_dispatch_type: -1 (Force switch statements to use a particular dispatch type: -1=auto, 0=linear scan, 1=binary search, 2=jump table)
gc_at_throw: false (Run evacuating GC at throw and rethrow)
gc_during_reload: false (Cause explicit GC during reload.)
gc_every: 0 (Run major GC on every N stack overflow checks)
gc_on_foc_slow_path: false (Cause a GC when falling off the fast path for fast object copy.)
generate_perf_events_symbols: false (Generate events symbols for profiling with perf (disables dual code mapping))
generate_perf_jitdump: false (Generate jitdump file to use with perf-inject (disables dual code mapping))
generate_probe_points: false (Generate probe points for installation of user space probes)
guess_icdata_cid: true (Artificially create type feedback for arithmetic etc. operations)
hash_map_probes_limit: 2147483647 (Limit number of probes while doing lookups in hash maps.)
huge_method_cutoff_in_ast_nodes: 10000 (Huge method cutoff in AST nodes: Disables optimizations for huge methods.)
huge_method_cutoff_in_code_size: 200000 (Huge method cutoff in unoptimized code size (in bytes).)
identity_reload: false (Enable checks for identity reload.)
idle_duration_micros: 2147483647 (Allow idle tasks to run for this long.)
idle_timeout_micros: 61000000 (Consider thread pool isolates for idle tasks after this long.)
ignore_unrecognized_flags: false (Ignore unrecognized flags.)
include_inlining_info_in_disassembly: true (Include inlining information when printing disassembly)
inline_alloc: true (Whether to use inline allocation fast paths.)
inline_getters_setters_smaller_than: 10 (Always inline getters and setters that have fewer instructions)
inlining_callee_call_sites_threshold: 1 (Always inline functions containing threshold or fewer calls.)
inlining_callee_size_threshold: 160 (Do not inline callees larger than threshold)
inlining_caller_size_threshold: 50000 (Stop inlining once caller reaches the threshold.)
inlining_depth_threshold: 6 (Inline function calls up to threshold nesting depth)
inlining_filter: (null) (Inline only in named function)
inlining_hotness: 10 (Inline only hotter calls, in percents (0 .. 100); default 10%: calls above-equal 10% of max-count are inlined.)
inlining_recursion_depth_threshold: 1 (Inline recursive function calls up to threshold recursion depth.)
inlining_size_threshold: 25 (Always inline functions that have threshold or fewer instructions)
inlining_small_leaf_size_threshold: 50 (Do not inline leaf callees larger than threshold)
interpret_irregexp: false (Use irregexp bytecode interpreter)
intrinsify: true (Instrinsify when possible)
isolate_log_filter: (null) (Log isolates whose name include the filter. Default: service isolate log messages are suppressed (specify 'vm-service' to log them).)
kernel_multiroot_filepaths: (null) (Comma-separated list of file paths that should be treated as roots by frontend compiler.)
kernel_multiroot_scheme: (null) (URI scheme that replaces filepaths prefixes specified by kernel_multiroot_filepaths option)
link_natives_lazily: false (Link native calls lazily)
load_cse: true (Use redundant load elimination.)
log_growth: false (Log PageSpace growth policy decisions.)
log_marker_tasks: false (Log debugging information for old gen GC marking tasks.)
log_service_response_sizes: (null) (Log sizes of service responses and events to a file in CSV format.)
mark_when_idle: false (The Dart thread will assist in concurrent marking during idle time and is counted as one marker task)
marker_tasks: 2 (The number of tasks to spawn during old gen GC marking (0 means perform all marking on main thread).)
max_deoptimization_counter_threshold: 16 (How many times we allow deoptimization before we disallow optimization.)
max_equality_polymorphic_checks: 32 (Maximum number of polymorphic checks in equality operator,)
max_exhaustive_polymorphic_checks: 5 (If a call receiver is known to be of at most this many classes, generate exhaustive class tests instead of a megamorphic call)
max_inlined_per_depth: 500 (Max. number of inlined calls per depth)
max_polymorphic_checks: 4 (Maximum number of polymorphic check, otherwise it is megamorphic.)
max_profile_depth: 128 (Maximum number stack frames walked. Minimum 1. Maximum 255.)
max_subtype_cache_entries: 1454 (Maximum number of subtype cache entries (number of checks cached).)
min_optimization_counter_threshold: 5000 (The minimum invocation count for a function.)
new_gen_garbage_threshold: 90 (Grow new gen when less than this percentage is garbage.)
new_gen_growth_factor: 2 (Grow new gen by this factor.)
new_gen_semi_initial_size: 2 (Initial size of new gen semi space in MB)
new_gen_semi_max_size: 16 (Max size of new gen semi space in MB)
old_gen_growth_rate: 280 (The max number of pages the old generation can grow at a time)
old_gen_growth_space_ratio: 20 (The desired maximum percentage of free space after old gen GC)
old_gen_growth_time_ratio: 3 (The desired maximum percentage of time spent in old gen GC)
old_gen_heap_size: 30720 (Max size of old gen heap size in MB, or 0 for unlimited,e.g: --old_gen_heap_size=1024 allows up to 1024MB old gen heap)
optimization_counter_scale: 2000 (The scale of invocation count, by size of the function.)
optimization_counter_threshold: 30000 (Function's usage-counter value before it is optimized, -1 means never)
optimization_filter: (null) (Optimize only named function)
optimization_level: 2 (Optimization level: 1 (favor size), 2 (default), 3 (favor speed))
optimize_lazy_initializer_calls: true (Eliminate redundant lazy initializer calls.)
pause_isolates_on_exit: false (Pause isolates exiting.)
pause_isolates_on_start: false (Pause isolates before starting.)
pause_isolates_on_unhandled_exceptions: false (Pause isolates on unhandled exceptions.)
polymorphic_with_deopt: true (Polymorphic calls with deoptimization / megamorphic call)
precompilation: (Precompilation mode)
precompiled_mode: false (Precompilation compiler mode)
print_class_table: false (Print initial class table.)
print_classes: false (Prints details about loaded classes.)
print_cluster_information: false (Print information about clusters written to snapshot)
print_code_source_map: false (Print code source map.)
print_environments: false (Print SSA environments.)
print_flags: true (Print flags as they are being parsed.)
print_flow_graph: false (Print the IR flow graph.)
print_flow_graph_as_json: false (Use machine readable output when printing IL graphs.)
print_flow_graph_filter: (null) (Print only IR of functions with matching names)
print_flow_graph_optimized: false (Print the IR flow graph when optimizing.)
print_free_list_after_gc: false (Print free list statistics after a GC)
print_free_list_before_gc: false (Print free list statistics before a GC)
print_huge_methods: false (Print huge methods (less optimized))
print_ic_data_map: false (Print the deopt-id to ICData map in optimizing compiler.)
print_inlining_tree: false (Print inlining tree)
print_metrics: false (Print metrics when isolates (and the VM) are shutdown.)
print_object_layout_to: (null) (Print layout of Dart objects to the given file)
print_precompiler_timings: false (Print per-phase breakdown of time spent precompiling)
print_redundant_il: false (Print redundant IL instructions)
print_snapshot_sizes: false (Print sizes of generated snapshots.)
print_snapshot_sizes_verbose: false (Print cluster sizes of generated snapshots.)
print_ssa_liveranges: false (Print live ranges after allocation.)
print_stacktrace_at_api_error: false (Attempt to print a native stack trace when an API error is created.)
print_stacktrace_at_throw: false (Prints a stack trace everytime a throw occurs.)
print_unique_targets: false (Print unique dynamic targets)
profile_period: 1000 (Time between profiler samples in microseconds. Minimum 50.)
profile_vm: false (Always collect native stack traces.)
profile_vm_allocation: false (Collect native stack traces when tracing Dart allocations.)
profiler: false (Enable the profiler.)
profiler_native_memory: false (Enable native memory statistic collection.)
propagate_ic_data: true (Propagate IC data from unoptimized to optimized IC calls.)
prune_dead_locals: true (optimize dead locals away)
random_seed: 0 (Override the random seed for debugging.)
redirect_isolate_log_to: (null) (Log isolate messages into the given file.)
regexp_backtrack_stack_size_kb: 256 (Size of backtracking stack)
regexp_optimization_counter_threshold: 1000 (RegExp's usage-counter value before it is optimized, -1 means never)
reload_every: 0 (Reload every N stack overflow checks.)
reload_every_back_off: false (Double the --reload-every value after each reload.)
reload_every_optimized: true (Only from optimized code.)
reload_force_rollback: false (Force all reloads to fail and rollback.)
remove_redundant_phis: true (Remove redundant phis.)
remove_script_timestamps_for_test: false (Remove script timestamps to allow for deterministic testing.)
reoptimization_counter_threshold: 4000 (Counter threshold before a function gets reoptimized.)
reorder_basic_blocks: true (Reorder basic blocks)
retain_code_objects: true (Serialize all code objects even if not otherwise needed in the precompiled runtime.)
retain_function_objects: true (Serialize function objects for all code objects even if not otherwise needed in the precompiled runtime.)
runtime_allocate_old: false (Use old-space for allocation via runtime calls.)
runtime_allocate_spill_tlab: false (Ensure results of allocation via runtime calls are not in an active TLAB.)
sample_buffer_duration: 0 (Defines the size of the profiler sample buffer to contain at least N seconds of samples at a given sample rate. If not provided, the default is ~4 seconds. Large values will greatly increase memory consumption.)
scavenger_tasks: -1 (The number of tasks to spawn during scavenging and incremental compaction (0 means perform all work on the main thread, -1 means select an amount based on the number of active isolates).)
share_enclosing_context: true (Allocate captured variables in the existing context of an enclosing scope (up to innermost loop) and spare the allocation of a local context.)
shared_slow_path_triggers_gc: false (TESTING: slow-path triggers a GC.)
show_internal_names: false (Show names of internal classes (e.g. "OneByteString") in error messages instead of showing the corresponding interface names (e.g. "String"). Also show legacy nullability in type names.)
show_invisible_frames: false (Show invisible frames in stack traces.)
silent_warnings: false (Silence warnings.)
source_lines: false (Emit source line as assembly comment.)
stacktrace_every: 0 (Compute debugger stacktrace on every N stack overflow checks)
stacktrace_filter: (null) (Compute stacktrace in named function on stack overflow checks)
startup_timeline: false (Record the startup timeline)
stop_on_excessive_deoptimization: false (Debugging: stops program if deoptimizing same function too often)
stress_async_stacks: false (Stress test async stack traces)
stress_test_background_compilation: false (Keep background compiler running all the time)
support_disassembler: true (Support the disassembler.)
systrace_timeline: false (Record the timeline to the platform's tracing service if there is one)
target_unknown_cpu: false (Generate code for a generic CPU, unknown at compile time)
test_il_serialization: false (Test IL serialization.)
timeline_dir: (null) (Enable all timeline trace streams and output VM global trace into specified directory. This flag is ignored by the file and perfetto recorders.)
timeline_recorder: 'ring' (Select the timeline recorder used. Valid values: none, ring, endless, startup, systrace, file, callback, perfettofile)
timeline_streams: (null) (Comma separated list of timeline streams to record. Valid values: all, API, Compiler, CompilerVerbose, Dart, Debugger, Embedder, GC, Isolate, and VM.)
trace_bailout: false (Print bailout from ssa compiler.)
trace_class_finalization: false (Trace class finalization.)
trace_compiler: false (Trace compiler operations.)
trace_constant_propagation: false (Print constant propagation and useless code elimination.)
trace_cpuid: false (Trace CPU ID discovery)
trace_debugger_stacktrace: false (Trace debugger stacktrace collection)
trace_deoptimization: false (Trace deoptimization)
trace_deoptimization_verbose: false (Trace deoptimization verbose)
trace_failed_optimization_attempts: false (Traces all failed optimization attempts)
trace_field_guards: false (Trace changes in field's cids.)
trace_inlining: false (Trace inlining)
trace_inlining_intervals: false (Inlining interval diagnostics)
trace_integer_ir_selection: false (Print integer IR selection optimization pass.)
trace_intrinsifier: false (Trace intrinsifier)
trace_irregexp: false (Trace irregexps.)
trace_kernel: false (Trace Kernel service requests.)
trace_load_optimization: false (Print live sets for load optimization pass.)
trace_optimizing_compiler: false (Trace only optimizing compiler operations.)
trace_osr: false (Trace attempts at on-stack replacement.)
trace_precompiler: false (Trace precompiler.)
trace_profiled_isolates: false (Trace profiled isolates.)
trace_profiler: false (Profiler trace)
trace_range_analysis: false (Trace range analysis progress)
trace_regexp_bytecodes: false (trace_regexp_bytecodes)
trace_reload: false (Trace isolate reloading)
trace_reload_verbose: false (trace isolate reloading verbose)
trace_resolving: false (Trace resolving.)
trace_rewind: false (Trace frame rewind)
trace_safepoint: false (Trace Safepoint logic.)
trace_service: false (Trace VM service requests.)
trace_service_pause_events: false (Trace VM service isolate pause events.)
trace_service_verbose: false (Provide extra service tracing information.)
trace_shutdown: false (Trace VM shutdown on stderr)
trace_source_positions: false (Source position diagnostics)
trace_ssa_allocator: false (Trace register allocation over SSA.)
trace_strong_mode_types: false (Trace optimizations based on strong mode types.)
trace_thread_interrupter: false (Trace thread interrupter)
trace_timeline: false (Trace timeline backend)
trace_type_finalization: false (Trace type finalization.)
trace_type_propagation: false (Trace flow graph type propagation)
trap_on_deoptimization: false (Trap on deoptimization.)
truncating_left_shift: true (Optimize left shift to truncate if possible)
two_args_smi_icd: true (Generate special IC stubs for two args Smi operations)
unopt_megamorphic_calls: true (Enable specializing megamorphic calls from unoptimized code.)
unopt_monomorphic_calls: true (Enable specializing monomorphic calls from unoptimized code.)
use_cha_deopt: true (Use class hierarchy analysis even if it can cause deoptimization.)
use_compactor: false (Compact the heap during old-space GC.)
use_field_guards: true (Use field guards and track field types)
use_incremental_compactor: true (Compact the heap during old-space GC.)
use_osr: true (Use OSR)
use_register_cc: true (Use register calling conventions)
use_slow_path: false (Whether to avoid inlined fast paths.)
use_sse41: true (Use SSE 4.1 if available)
verbose_debug: false (Verbose debugger messages)
verbose_gc: false (Enables verbose GC.)
verbose_gc_hdr: 40 (Print verbose GC header interval.)
verbose_stack_overflow: false (Print additional details about stack overflow.)
verify_acquired_data: false (Verify correct API acquire/release of typed data.)
verify_after_gc: false (Enables heap verification after GC.)
verify_after_marking: false (Enables heap verification after marking.)
verify_before_gc: false (Enables heap verification before GC.)
verify_entry_points: true (Throw API error on invalid member access through native API. See entry_point_pragma.md)
verify_store_buffer: false (Enables store buffer verification before and after scavenges.)
vm_name: 'vm' (The default name of this vm as reported by the VM service protocol)
warn_on_pause_with_no_debugger: false (Print a message when an isolate is paused but there is no debugger attached.)
warning_as_error: false (Treat warnings as errors.)
worker_thread_priority: -2147483648 (The thread priority the VM should use for new worker threads.)
worker_timeout_millis: 5000 (Free workers when they have been idle for this amount of time.)
write_protect_code: false (Write protect jitted code)
write_protect_vm_isolate: true (Write protect vm_isolate.)
write_retained_reasons_to: (null) (Print reasons for retaining objects to the given file)