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" |