yutopp's blog

サンドバッグになりたい

DartVM (rev5804) に渡せるオプション

rev5804時点のDartVMに渡せるオプションを纏めてみました。
違う点がありましたら、ぜひ教えて下さい><

オプション名 デフォルト値 コメント
deoptimization_counter_threshold int 5 "How many times we allow deoptimization before we disallow certain optimizations"
disassemble bool false "Disassemble dart code."
code_heap_size int Heap::kCodeHeapSizeInMB "code heap size in MB, e.g: --code_heap_size=8 allocates a 8MB old gen heap"
compiler_stats bool false "Compiler stat counters."
disable_privacy bool false "Disable library privacy."
disassemble_stubs bool false "Disassemble generated stubs."
enable_asserts bool false "Enable assert statements."
enable_checked_mode bool false "Enabled checked mode." (注釈: このオプションは、--enable_assertsと--enable_type_checksを同時に設定するのと同じ意味。)
enable_type_checks bool false "Enable type checks."
gc_at_alloc bool false "GC at every allocation."
generate_gdb_symbols bool false "Generate symbols of generated dart functions for debugging with GDB"
ignore_unrecognized_flags bool false "Ignore unrecognized flags."
inline_alloc bool true "Inline allocation of objects."
inline_cache bool true "enable inline caches"
intrinsify bool true "Instrinsify when possible"
new_gen_heap_size int 32 "new gen heap size in MB, e.g: --new_gen_heap_size=64 allocates a 64MB new gen heap"
old_gen_heap_size int Heap::kHeapSizeInMB "old gen heap size in MB, e.g: --old_gen_heap_size=1024 allocates a 1024MB old gen heap"
optimization_counter_threshold int 2000 "function's usage-counter value before it is optimized, -1 means never."
print_ast bool false "Print abstract syntax tree."
print_bootstrap bool false "Print the bootstrap source."
print_classes bool false "Prints details about loaded classes."
print_flags bool false "Print flags as they are being parsed."
print_flow_graph bool false "Print the IR flow graph."
print_ic_in_optimized
(TARGET_ARCH_IA32が定義されているときのみ)
bool false "Debugging helper to identify potential performance pitfalls."
print_scopes bool false "Print scopes of local variables."
print_stack_trace_at_throw bool false "Prints a stack trace everytime a throw occurs."
print_stop_message bool true "Print stop message."
print_tokens bool false "Print scanned tokens."
report_usage_count bool false "Track function usage and report."
silent_warnings bool false "Silence warnings."
time_all bool false "Time all functionality"
trace_bailout bool false "Print bailout from new compiler."
trace_class_finalization bool false "Trace class finalization."
trace_compiler bool false "Trace compiler operations."
trace_deopt bool false "Trace deoptimization"
trace_functions bool false "Trace entry of each function."
trace_ic bool false "trace IC handling"
trace_intrinsified_natives bool false "Report if any of the intrinsified natives are called"
trace_isolates bool false "Trace isolate creation and shut down."
trace_natives bool false "Trace invocation of natives"
trace_optimization
(TARGET_ARCH_IA32が定義されているときのみ)
bool false "Trace optimizations."
trace_parser bool false "Trace parser operations."
trace_patching bool false "Trace patching of code."
trace_resolving bool false "Trace resolving."
trace_runtime_calls bool false "Trace runtime calls."
trace_type_checks bool false "Trace runtime type checks."
trace_type_finalization bool false "Trace type finalization."
use_new_compiler bool TARGET_ARCH_X64が定義されているときtrue。そうでないときにfalse "Try to use the new compiler backend."
use_slow_path bool false "Set to true for debugging & verifying the slow paths."
verbose_gc bool false "Enables verbose GC."
verify_after_gc bool false "Enables heap verification after GC."
verify_before_gc bool false "Enables heap verification before GC."
verify_implements bool false "Verify that all classes implement their interface."
verify_on_transition bool false "Verify on dart <==> VM."
warning_as_error bool false "Treat warnings as errors."
worker_timeout_millis int 5000 "Free workers when they have been idle for this amount of time."


おまけ:テスト用オプション(テスト順)

オプション名 デフォルト値 コメント
basic_flag bool true "Testing of a basic boolean flag."
parse_flag_bool_test bool true "Flags::Parse (bool) testing"
string_opt_test charp NULL "Testing: string option."
entrypoint_test charp "main" "Testing: entrypoint"
counter int 100 "Testing: int flag"