Created
April 17, 2014 11:00
-
-
Save listochkin/10973974 to your computer and use it in GitHub Desktop.
Node V8 GC-related options
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
--log_gc (Log heap samples on garbage collection for the hp2ps tool.) | |
type: bool default: false | |
--expose_gc (expose gc extension) | |
type: bool default: false | |
--max_new_space_size (max size of the new generation (in kBytes)) | |
type: int default: 0 | |
--max_old_space_size (max size of the old generation (in Mbytes)) | |
type: int default: 0 | |
--max_executable_size (max size of executable memory (in Mbytes)) | |
type: int default: 0 | |
--gc_global (always perform global GCs) | |
type: bool default: false | |
--gc_interval (garbage collect after <n> allocations) | |
type: int default: -1 | |
--trace_gc (print one trace line following each garbage collection) | |
type: bool default: false | |
--trace_gc_nvp (print one detailed trace line in name=value format after each garbage collection) | |
type: bool default: false | |
--trace_gc_ignore_scavenger (do not print trace line after scavenger collection) | |
type: bool default: false | |
--print_cumulative_gc_stat (print cumulative GC statistics in name=value format on exit) | |
type: bool default: false | |
--trace_gc_verbose (print more details following each garbage collection) | |
type: bool default: false | |
--trace_fragmentation (report fragmentation for old pointer and data pages) | |
type: bool default: false | |
--trace_external_memory (print amount of external allocated memory after each time it is adjusted.) | |
type: bool default: false | |
--collect_maps (garbage collect maps from which no objects can be reached) | |
type: bool default: true | |
--flush_code (flush code that we expect not to use again before full gc) | |
type: bool default: true | |
--incremental_marking (use incremental marking) | |
type: bool default: true | |
--incremental_marking_steps (do incremental marking steps) | |
type: bool default: true | |
--trace_incremental_marking (trace progress of the incremental marking) | |
type: bool default: false | |
--track_gc_object_stats (track object counts and memory usage) | |
type: bool default: false | |
--use_idle_notification (Use idle notification to reduce memory footprint.) | |
type: bool default: true | |
--use_ic (use inline caching) | |
type: bool default: true | |
--native_code_counters (generate extra code for manipulating stats counters) | |
type: bool default: false | |
--always_compact (Perform compaction on every full GC) | |
type: bool default: false | |
--lazy_sweeping (Use lazy sweeping for old pointer and data spaces) | |
type: bool default: true | |
--never_compact (Never perform compaction on full GC - testing only) | |
type: bool default: false | |
--compact_code_space (Compact code space on full non-incremental collections) | |
type: bool default: true | |
--incremental_code_compaction (Compact code space on full incremental collections) | |
type: bool default: true | |
--cleanup_code_caches_at_gc (Flush inline caches prior to mark compact collection and flush code caches in maps during mark compact cycle.) | |
type: bool default: true |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
$ node --expose-gc --trace-gc --log-gc | |
[40433] 1397730668633 ms: Mark-sweep 0.5 (34.0) -> 0.5 (34.0) MB, 0 ms [Logger::LogCodeObjects] [GC in old space requested]. | |
[40433] 1397730668633 ms: Mark-sweep 0.5 (34.0) -> 0.4 (34.0) MB, 0 ms [Logger::LogCompiledFunctions] [GC in old space requested]. | |
> var a = []; | |
[40433] 5200 ms: Scavenge 2.6 (37.0) -> 2.4 (37.0) MB, 1 ms [Runtime::PerformGC]. | |
undefined | |
> for (var i = 0; i < 10000; i++) a.push('' + i); | |
[40433] 42607 ms: Scavenge 3.6 (38.0) -> 3.2 (39.0) MB, 0 ms [Runtime::PerformGC]. | |
10000 | |
> a.length | |
10000 | |
> a = null; | |
null | |
> global.gc(); | |
[40433] 68105 ms: Mark-sweep 3.6 (39.0) -> 2.8 (39.0) MB, 4 ms [gc extension] [GC in old space requested]. | |
undefined | |
> | |
(^C again to quit) | |
> |
Another option to consider: –nouse-idle-notification
FWIW, in current node.js (v20) see node --v8-options
. I don't know exactly when/why but some changed names since I last looked (node v14.x -> v20), e.g. --always-compact
is now --compact-on-every-full-gc
v8 options
$ node -v
v20.0.0
$ node --v8-options
SSE3=1 SSSE3=1 SSE4_1=1 SSE4_2=1 SAHF=1 AVX=1 AVX2=1 FMA3=1 BMI1=1 BMI2=1 LZCNT=1 POPCNT=1 ATOM=0
The following syntax for options is accepted (both '-' and '--' are ok):
--flag (bool flags only)
--no-flag (bool flags only)
--flag=value (non-bool flags only, no spaces around '=')
--flag value (non-bool flags only)
-- (captures all remaining args in JavaScript)
Options:
--experimental (Indicates that V8 is running with experimental features enabled. This flag is typically not set explicitly but instead enabled as an implication of other flags which enable experimental features.)
type: bool default: --no-experimental
--abort-on-contradictory-flags (Disallow flags or implications overriding each other.)
type: bool default: --no-abort-on-contradictory-flags
--exit-on-contradictory-flags (Exit with return code 0 on contradictory flags.)
type: bool default: --no-exit-on-contradictory-flags
--allow-overwriting-for-next-flag (temporary disable flag contradiction to allow overwriting just the next flag)
type: bool default: --no-allow-overwriting-for-next-flag
--use-strict (enforce strict mode)
type: bool default: --no-use-strict
--trace-temporal (trace temporal code)
type: bool default: --no-trace-temporal
--harmony (enable all completed harmony features)
type: bool default: --no-harmony
--harmony-shipping (enable all shipped harmony features)
type: bool default: --harmony-shipping
--harmony-weak-refs-with-cleanup-some (enable "harmony weak references with FinalizationRegistry.prototype.cleanupSome" (in progress / experimental))
type: bool default: --no-harmony-weak-refs-with-cleanup-some
--harmony-temporal (enable "Temporal" (in progress / experimental))
type: bool default: --no-harmony-temporal
--harmony-shadow-realm (enable "harmony ShadowRealm" (in progress / experimental))
type: bool default: --no-harmony-shadow-realm
--harmony-struct (enable "harmony structs, shared structs, and shared arrays" (in progress / experimental))
type: bool default: --no-harmony-struct
--harmony-array-from-async (enable "harmony Array.fromAsync" (in progress / experimental))
type: bool default: --no-harmony-array-from-async
--harmony-iterator-helpers (enable "JavaScript iterator helpers" (in progress / experimental))
type: bool default: --no-harmony-iterator-helpers
--harmony-intl-best-fit-matcher (enable "Intl BestFitMatcher" (in progress / experimental))
type: bool default: --no-harmony-intl-best-fit-matcher
--harmony-intl-duration-format (enable "Intl DurationFormat API" (in progress / experimental))
type: bool default: --no-harmony-intl-duration-format
--harmony-rab-gsab-transfer (enable "harmony ArrayBuffer.transfer")
type: bool default: --no-harmony-rab-gsab-transfer
--harmony-array-grouping (enable "harmony array grouping")
type: bool default: --no-harmony-array-grouping
--harmony-json-parse-with-source (enable "harmony json parse with source")
type: bool default: --no-harmony-json-parse-with-source
--harmony-sharedarraybuffer (enable "harmony sharedarraybuffer")
type: bool default: --harmony-sharedarraybuffer
--harmony-atomics (enable "harmony atomics")
type: bool default: --harmony-atomics
--harmony-import-assertions (enable "harmony import assertions")
type: bool default: --harmony-import-assertions
--harmony-symbol-as-weakmap-key (enable "harmony symbols as weakmap keys")
type: bool default: --harmony-symbol-as-weakmap-key
--harmony-change-array-by-copy (enable "harmony change-Array-by-copy")
type: bool default: --harmony-change-array-by-copy
--harmony-string-is-well-formed (enable "harmony String#{is,to}WellFormed")
type: bool default: --harmony-string-is-well-formed
--harmony-rab-gsab (enable "harmony ResizableArrayBuffer / GrowableSharedArrayBuffer")
type: bool default: --harmony-rab-gsab
--harmony-regexp-unicode-sets (enable "harmony RegExp Unicode Sets")
type: bool default: --harmony-regexp-unicode-sets
--harmony-intl-number-format-v3 (enable "Intl.NumberFormat v3")
type: bool default: --harmony-intl-number-format-v3
--builtin-subclassing (subclassing support in built-in methods)
type: bool default: --builtin-subclassing
--enable-sharedarraybuffer-per-context (enable the SharedArrayBuffer constructor per context)
type: bool default: --no-enable-sharedarraybuffer-per-context
--icu-timezone-data (get information about timezones from ICU)
type: bool default: --icu-timezone-data
--stress-snapshot (disables sharing of the read-only heap for testing)
type: bool default: --no-stress-snapshot
--lite-mode (enables trade-off of performance for memory savings)
type: bool default: --no-lite-mode
--enable-third-party-heap (Use third-party heap)
type: bool default: --no-enable-third-party-heap
--enable-allocation-folding (Use allocation folding globally)
type: bool default: --enable-allocation-folding
--disable-write-barriers (disable write barriers when GC is non-incremental and heap contains single generation.)
type: bool default: --no-disable-write-barriers
--enable-unconditional-write-barriers (always use full write barriers)
type: bool default: --no-enable-unconditional-write-barriers
--single-generation (allocate all objects from young generation to old generation)
type: bool default: --no-single-generation
--conservative-stack-scanning (use conservative stack scanning)
type: bool default: --no-conservative-stack-scanning
--future (Implies all staged features that we want to ship in the not-too-far future)
type: bool default: --no-future
--force-emit-interrupt-budget-checks (force emit tier-up logic from all non-turbofan code, even if it is the top enabled tier)
type: bool default: --no-force-emit-interrupt-budget-checks
--maglev (enable the maglev optimizing compiler)
type: bool default: --no-maglev
--maglev-future (enable maglev features that we want to ship in the not-too-far future)
type: bool default: --no-maglev-future
--maglev-inlining (enable inlining in the maglev optimizing compiler)
type: bool default: --no-maglev-inlining
--maglev-untagged-phis (enable phi untagging in the maglev optimizing compiler)
type: bool default: --no-maglev-untagged-phis
--stress-maglev (trigger maglev compilation earlier)
type: bool default: --no-stress-maglev
--optimize-on-next-call-optimizes-to-maglev (make OptimizeFunctionOnNextCall optimize to maglev instead of turbofan)
type: bool default: --no-optimize-on-next-call-optimizes-to-maglev
--maglev-filter (optimization filter for the maglev compiler)
type: string default: --maglev-filter="*"
--maglev-assert (insert extra assertion in maglev code)
type: bool default: --no-maglev-assert
--maglev-assert-stack-size (insert stack size checks before every IR node)
type: bool default: --maglev-assert-stack-size
--maglev-break-on-entry (insert an int3 on maglev entries)
type: bool default: --no-maglev-break-on-entry
--print-maglev-graph (print maglev graph)
type: bool default: --no-print-maglev-graph
--print-maglev-deopt-verbose (print verbose deopt info)
type: bool default: --no-print-maglev-deopt-verbose
--print-maglev-code (print maglev code)
type: bool default: --no-print-maglev-code
--trace-maglev-graph-building (trace maglev graph building)
type: bool default: --no-trace-maglev-graph-building
--trace-maglev-regalloc (trace maglev register allocation)
type: bool default: --no-trace-maglev-regalloc
--trace-maglev-inlining (trace maglev inlining)
type: bool default: --no-trace-maglev-inlining
--trace-maglev-inlining-verbose (trace maglev inlining (verbose))
type: bool default: --no-trace-maglev-inlining-verbose
--maglev-function-context-specialization (enable function context specialization in maglev)
type: bool default: --maglev-function-context-specialization
--dict-property-const-tracking (Use const tracking on dictionary properties)
type: bool default: --no-dict-property-const-tracking
--max-opt (Set the maximal optimisation tier: > 3 == any, 0 == ignition/interpreter, 1 == sparkplug/baseline, 2 == maglev, 3 == turbofan)
type: uint default: --max-opt=999
--wasm-trace-native (Select which native code sequence to use for wasm trace instruction: default or cpuid)
type: string default: --wasm-trace-native=""
--jitless (Disable runtime allocation of executable memory.)
type: bool default: --no-jitless
--assert-types (generate runtime type assertions to test the typer)
type: bool default: --no-assert-types
--turboshaft-assert-types (generate runtime type assertions to test the turboshaft type system)
type: bool default: --no-turboshaft-assert-types
--verify-simplified-lowering (verify graph generated by simplified lowering)
type: bool default: --no-verify-simplified-lowering
--trace-compilation-dependencies (trace code dependencies)
type: bool default: --no-trace-compilation-dependencies
--allocation-site-tracking (Enable allocation site tracking)
type: bool default: --allocation-site-tracking
--allocation-site-pretenuring (pretenure with allocation sites)
type: bool default: --allocation-site-pretenuring
--page-promotion (promote pages based on utilization)
type: bool default: --page-promotion
--page-promotion-threshold (min percentage of live bytes on a page to enable fast evacuation)
type: int default: --page-promotion-threshold=70
--trace-pretenuring (trace pretenuring decisions of HAllocate instructions)
type: bool default: --no-trace-pretenuring
--trace-pretenuring-statistics (trace allocation site pretenuring statistics)
type: bool default: --no-trace-pretenuring-statistics
--track-field-types (track field types)
type: bool default: --track-field-types
--trace-block-coverage (trace collected block coverage information)
type: bool default: --no-trace-block-coverage
--trace-protector-invalidation (trace protector cell invalidations)
type: bool default: --no-trace-protector-invalidation
--feedback-normalization (feed back normalization to constructors)
type: bool default: --no-feedback-normalization
--internalize-on-the-fly (internalize string keys for generic keyed ICs on the fly)
type: bool default: --internalize-on-the-fly
--enable-sealed-frozen-elements-kind (Enable sealed, frozen elements kind)
type: bool default: --enable-sealed-frozen-elements-kind
--unbox-double-arrays (automatically unbox arrays of doubles)
type: bool default: --unbox-double-arrays
--string-slices (use string slices)
type: bool default: --string-slices
--interrupt-budget-for-feedback-allocation (The fixed interrupt budget (in bytecode size) for allocating feedback vectors)
type: int default: --interrupt-budget-for-feedback-allocation=940
--interrupt-budget-factor-for-feedback-allocation (The interrupt budget factor (applied to bytecode size) for allocating feedback vectors, used when bytecode size is known)
type: int default: --interrupt-budget-factor-for-feedback-allocation=8
--invocation-count-for-maglev (interrupt budget which should be used for the profiler counter)
type: int default: --invocation-count-for-maglev=100
--interrupt-budget (interrupt budget which should be used for the profiler counter)
type: int default: --interrupt-budget=67584
--ticks-before-optimization (the number of times we have to go through the interrupt budget before considering this function for optimization)
type: int default: --ticks-before-optimization=3
--bytecode-size-allowance-per-tick (increases the number of ticks required for optimization by bytecode.length/X)
type: int default: --bytecode-size-allowance-per-tick=150
--invocation-count-for-osr (number of invocations we want to see after requesting previous tier up to increase the OSR urgency)
type: int default: --invocation-count-for-osr=500
--max-bytecode-size-for-early-opt (Maximum bytecode length for a function to be optimized on the first tick)
type: int default: --max-bytecode-size-for-early-opt=81
--global-ic-updated-flag (Track, globally, whether any IC changed, and use this in tierup heuristics.)
type: bool default: --no-global-ic-updated-flag
--minimum-invocations-after-ic-update (How long to minimally wait after IC update before tier up)
type: int default: --minimum-invocations-after-ic-update=500
--reset-interrupt-on-ic-update (On IC change, reset the interrupt budget for just that function.)
type: bool default: --reset-interrupt-on-ic-update
--reset-ticks-on-ic-update (On IC change, reset the ticks for just that function.)
type: bool default: --reset-ticks-on-ic-update
--maglev-increase-budget-forward-jump (Increase interrupt budget on forward jumps in maglev code)
type: bool default: --no-maglev-increase-budget-forward-jump
--use-ic (use inline caching)
type: bool default: --use-ic
--lazy-feedback-allocation (Allocate feedback vectors lazily)
type: bool default: --lazy-feedback-allocation
--ignition-elide-noneffectful-bytecodes (elide bytecodes which won't have any external effect)
type: bool default: --ignition-elide-noneffectful-bytecodes
--ignition-reo (use ignition register equivalence optimizer)
type: bool default: --ignition-reo
--ignition-filter-expression-positions (filter expression positions before the bytecode pipeline)
type: bool default: --ignition-filter-expression-positions
--ignition-share-named-property-feedback (share feedback slots when loading the same named property from the same object)
type: bool default: --ignition-share-named-property-feedback
--print-bytecode (print bytecode generated by ignition interpreter)
type: bool default: --no-print-bytecode
--enable-lazy-source-positions (skip generating source positions during initial compile but regenerate when actually required)
type: bool default: --enable-lazy-source-positions
--stress-lazy-source-positions (collect lazy source positions immediately after lazy compile)
type: bool default: --no-stress-lazy-source-positions
--print-bytecode-filter (filter for selecting which functions to print bytecode)
type: string default: --print-bytecode-filter="*"
--omit-default-ctors (omit calling default ctors in bytecode)
type: bool default: --omit-default-ctors
--trace-ignition-codegen (trace the codegen of ignition interpreter bytecode handlers)
type: bool default: --no-trace-ignition-codegen
--trace-ignition-dispatches-output-file (write the bytecode handler dispatch table to the specified file (d8 only) (requires building with v8_enable_ignition_dispatch_counting))
type: string default: --trace-ignition-dispatches-output-file=""
--trace-track-allocation-sites (trace the tracking of allocation sites)
type: bool default: --no-trace-track-allocation-sites
--trace-migration (trace object migration)
type: bool default: --no-trace-migration
--trace-generalization (trace map generalization)
type: bool default: --no-trace-generalization
--sparkplug (enable Sparkplug baseline compiler)
type: bool default: --sparkplug
--always-sparkplug (directly tier up to Sparkplug code)
type: bool default: --no-always-sparkplug
--baseline-batch-compilation (batch compile Sparkplug code)
type: bool default: --baseline-batch-compilation
--concurrent-sparkplug (compile Sparkplug code in a background thread)
type: bool default: --concurrent-sparkplug
--concurrent-sparkplug-max-threads (max number of threads that concurrent Sparkplug can use (0 for unbounded))
type: uint default: --concurrent-sparkplug-max-threads=1
--concurrent-sparkplug-high-priority-threads (use high priority compiler threads for concurrent Sparkplug)
type: bool default: --no-concurrent-sparkplug-high-priority-threads
--sparkplug-filter (filter for Sparkplug baseline compiler)
type: string default: --sparkplug-filter="*"
--sparkplug-needs-short-builtins (only enable Sparkplug baseline compiler when --short-builtin-calls are also enabled)
type: bool default: --no-sparkplug-needs-short-builtins
--baseline-batch-compilation-threshold (the estimated instruction size of a batch to trigger compilation)
type: int default: --baseline-batch-compilation-threshold=4096
--trace-baseline (trace baseline compilation)
type: bool default: --no-trace-baseline
--trace-baseline-batch-compilation (trace baseline batch compilation)
type: bool default: --no-trace-baseline-batch-compilation
--trace-baseline-concurrent-compilation (trace baseline concurrent compilation)
type: bool default: --no-trace-baseline-concurrent-compilation
--shared-string-table (internalize strings into shared table)
type: bool default: --no-shared-string-table
--always-use-string-forwarding-table (use string forwarding table instead of thin strings for all strings)
type: bool default: --no-always-use-string-forwarding-table
--transition-strings-during-gc-with-stack (Transition strings during a full GC with stack)
type: bool default: --no-transition-strings-during-gc-with-stack
--initial-shared-heap-size (initial size of the shared heap (in Mbytes); other heap size flags (e.g. initial_heap_size) take precedence)
type: size_t default: --initial-shared-heap-size=0
--max-shared-heap-size (max size of the shared heap (in Mbytes); other heap size flags (e.g. max_shared_heap_size) take precedence)
type: size_t default: --max-shared-heap-size=0
--write-code-using-rwx (flip permissions to rwx to write page instead of rw)
type: bool default: --write-code-using-rwx
--concurrent-recompilation (optimizing hot functions asynchronously on a separate thread)
type: bool default: --concurrent-recompilation
--trace-concurrent-recompilation (track concurrent recompilation)
type: bool default: --no-trace-concurrent-recompilation
--concurrent-recompilation-queue-length (the length of the concurrent compilation queue)
type: int default: --concurrent-recompilation-queue-length=8
--concurrent-recompilation-delay (artificial compilation delay in ms)
type: int default: --concurrent-recompilation-delay=0
--stress-concurrent-inlining (create additional concurrent optimization jobs but throw away result)
type: bool default: --no-stress-concurrent-inlining
--maglev-overwrite-budget (whether maglev resets the interrupt budget)
type: bool default: --no-maglev-overwrite-budget
--stress-concurrent-inlining-attach-code (create additional concurrent optimization jobs)
type: bool default: --no-stress-concurrent-inlining-attach-code
--max-serializer-nesting (maximum levels for nesting child serializers)
type: int default: --max-serializer-nesting=25
--trace-heap-broker-verbose (trace the heap broker verbosely (all reports))
type: bool default: --no-trace-heap-broker-verbose
--trace-heap-broker-memory (trace the heap broker memory (refs analysis and zone numbers))
type: bool default: --no-trace-heap-broker-memory
--trace-heap-broker (trace the heap broker (reports on missing data only))
type: bool default: --no-trace-heap-broker
--stress-runs (number of stress runs)
type: int default: --stress-runs=0
--deopt-every-n-times (deoptimize every n times a deopt point is passed)
type: int default: --deopt-every-n-times=0
--print-deopt-stress (print number of possible deopt points)
type: bool default: --no-print-deopt-stress
--turbofan (use the Turbofan optimizing compiler)
type: bool default: --turbofan
--opt (alias for --turbofan)
type: bool default: --opt
--turbo-sp-frame-access (use stack pointer-relative access to frame wherever possible)
type: bool default: --no-turbo-sp-frame-access
--stress-turbo-late-spilling (optimize placement of all spill instructions, not just loop-top phis)
type: bool default: --no-stress-turbo-late-spilling
--turbo-filter (optimization filter for TurboFan compiler)
type: string default: --turbo-filter="*"
--trace-turbo (trace generated TurboFan IR)
type: bool default: --no-trace-turbo
--trace-turbo-path (directory to dump generated TurboFan IR to)
type: string default: --trace-turbo-path=""
--trace-turbo-filter (filter for tracing turbofan compilation)
type: string default: --trace-turbo-filter="*"
--trace-turbo-graph (trace generated TurboFan graphs)
type: bool default: --no-trace-turbo-graph
--trace-turbo-scheduled (trace TurboFan IR with schedule)
type: bool default: --no-trace-turbo-scheduled
--trace-turbo-file-prefix (trace turbo graph to a file with given prefix)
type: string default: --trace-turbo-file-prefix="turbo"
--trace-turbo-cfg-file (trace turbo cfg graph (for C1 visualizer) to a given file name)
type: string default: --trace-turbo-cfg-file=""
--trace-turbo-types (trace TurboFan's types)
type: bool default: --trace-turbo-types
--trace-turbo-scheduler (trace TurboFan's scheduler)
type: bool default: --no-trace-turbo-scheduler
--trace-turbo-reduction (trace TurboFan's various reducers)
type: bool default: --no-trace-turbo-reduction
--trace-turbo-trimming (trace TurboFan's graph trimmer)
type: bool default: --no-trace-turbo-trimming
--trace-turbo-jt (trace TurboFan's jump threading)
type: bool default: --no-trace-turbo-jt
--trace-turbo-ceq (trace TurboFan's control equivalence)
type: bool default: --no-trace-turbo-ceq
--trace-turbo-loop (trace TurboFan's loop optimizations)
type: bool default: --no-trace-turbo-loop
--trace-turbo-alloc (trace TurboFan's register allocator)
type: bool default: --no-trace-turbo-alloc
--trace-all-uses (trace all use positions)
type: bool default: --no-trace-all-uses
--trace-representation (trace representation types)
type: bool default: --no-trace-representation
--trace-turbo-stack-accesses (trace stack load/store counters for optimized code in run-time (x64 only))
type: bool default: --no-trace-turbo-stack-accesses
--turbo-verify (verify TurboFan graphs at each phase)
type: bool default: --no-turbo-verify
--turbo-verify-machine-graph (verify TurboFan machine graph before instruction selection)
type: string default: --turbo-verify-machine-graph=""
--verify-csa (verify TurboFan machine graph of code stubs)
type: bool default: --no-verify-csa
--trace-verify-csa (trace code stubs verification)
type: bool default: --no-trace-verify-csa
--csa-trap-on-node (trigger break point when a node with given id is created in given stub. The format is: StubName,NodeId)
type: string default: --csa-trap-on-node=""
--fixed-array-bounds-checks (enable FixedArray bounds checks)
type: bool default: --fixed-array-bounds-checks
--turbo-stats (print TurboFan statistics)
type: bool default: --no-turbo-stats
--turbo-stats-nvp (print TurboFan statistics in machine-readable format)
type: bool default: --no-turbo-stats-nvp
--turbo-stats-wasm (print TurboFan statistics of wasm compilations)
type: bool default: --no-turbo-stats-wasm
--turbo-splitting (split nodes during scheduling in TurboFan)
type: bool default: --turbo-splitting
--turbo-inlining (enable inlining in TurboFan)
type: bool default: --turbo-inlining
--max-inlined-bytecode-size (maximum size of bytecode for a single inlining)
type: int default: --max-inlined-bytecode-size=460
--max-inlined-bytecode-size-cumulative (maximum cumulative size of bytecode considered for inlining)
type: int default: --max-inlined-bytecode-size-cumulative=920
--max-inlined-bytecode-size-absolute (maximum absolute size of bytecode considered for inlining)
type: int default: --max-inlined-bytecode-size-absolute=4600
--reserve-inline-budget-scale-factor (scale factor of bytecode size used to calculate the inlining budget)
type: float default: --reserve-inline-budget-scale-factor=1.2
--max-inlined-bytecode-size-small (maximum size of bytecode considered for small function inlining)
type: int default: --max-inlined-bytecode-size-small=27
--max-optimized-bytecode-size (maximum bytecode size to be considered for optimization; too high values may cause the compiler to hit (release) assertions)
type: int default: --max-optimized-bytecode-size=61440
--min-inlining-frequency (minimum frequency for inlining)
type: float default: --min-inlining-frequency=0.15
--polymorphic-inlining (polymorphic inlining)
type: bool default: --polymorphic-inlining
--stress-inline (set high thresholds for inlining to inline as much as possible)
type: bool default: --no-stress-inline
--trace-turbo-inlining (trace TurboFan inlining)
type: bool default: --no-trace-turbo-inlining
--turbo-inline-array-builtins (inline array builtins in TurboFan code)
type: bool default: --turbo-inline-array-builtins
--use-osr (use on-stack replacement)
type: bool default: --use-osr
--concurrent-osr (enable concurrent OSR)
type: bool default: --concurrent-osr
--turbo-string-builder (use TurboFan fast string builder)
type: bool default: --no-turbo-string-builder
--trace-osr (trace on-stack replacement)
type: bool default: --no-trace-osr
--log-or-trace-osr (internal helper flag, please use --trace-osr instead.)
type: bool default: --no-log-or-trace-osr
--analyze-environment-liveness (analyze liveness of environment slots and zap dead values)
type: bool default: --analyze-environment-liveness
--trace-environment-liveness (trace liveness of local variable slots)
type: bool default: --no-trace-environment-liveness
--turbo-load-elimination (enable load elimination in TurboFan)
type: bool default: --turbo-load-elimination
--trace-turbo-load-elimination (trace TurboFan load elimination)
type: bool default: --no-trace-turbo-load-elimination
--turbo-profiling (enable basic block profiling in TurboFan)
type: bool default: --no-turbo-profiling
--turbo-profiling-verbose (enable basic block profiling in TurboFan, and include each function's schedule and disassembly in the output)
type: bool default: --no-turbo-profiling-verbose
--turbo-profiling-output (emit data about basic block usage in builtins to this file (requires that V8 was built with v8_enable_builtins_profiling=true))
type: string default: --turbo-profiling-output=""
--abort-on-bad-builtin-profile-data (flag for mksnapshot, abort if builtins profile can't be applied)
type: bool default: --no-abort-on-bad-builtin-profile-data
--warn-about-builtin-profile-data (flag for mksnapshot, emit warnings when applying builtin profile data)
type: bool default: --no-warn-about-builtin-profile-data
--turbo-verify-allocation (verify register allocation in TurboFan)
type: bool default: --no-turbo-verify-allocation
--turbo-move-optimization (optimize gap moves in TurboFan)
type: bool default: --turbo-move-optimization
--turbo-jt (enable jump threading in TurboFan)
type: bool default: --turbo-jt
--turbo-loop-peeling (TurboFan loop peeling)
type: bool default: --turbo-loop-peeling
--turbo-loop-variable (TurboFan loop variable optimization)
type: bool default: --turbo-loop-variable
--turbo-loop-rotation (TurboFan loop rotation)
type: bool default: --turbo-loop-rotation
--turbo-cf-optimization (optimize control flow in TurboFan)
type: bool default: --turbo-cf-optimization
--turbo-escape (enable escape analysis)
type: bool default: --turbo-escape
--turbo-allocation-folding (TurboFan allocation folding)
type: bool default: --turbo-allocation-folding
--turbo-instruction-scheduling (enable instruction scheduling in TurboFan)
type: bool default: --no-turbo-instruction-scheduling
--turbo-stress-instruction-scheduling (randomly schedule instructions to stress dependency tracking)
type: bool default: --no-turbo-stress-instruction-scheduling
--turbo-store-elimination (enable store-store elimination in TurboFan)
type: bool default: --turbo-store-elimination
--trace-store-elimination (trace store elimination)
type: bool default: --no-trace-store-elimination
--turbo-rewrite-far-jumps (rewrite far to near jumps (ia32,x64))
type: bool default: --turbo-rewrite-far-jumps
--turbo-rab-gsab (optimize ResizableArrayBuffer / GrowableSharedArrayBuffer in TurboFan)
type: bool default: --turbo-rab-gsab
--stress-gc-during-compilation (simulate GC/compiler thread race related to https://crbug.com/v8/8520)
type: bool default: --no-stress-gc-during-compilation
--turbo-fast-api-calls (enable fast API calls from TurboFan)
type: bool default: --turbo-fast-api-calls
--turbo-compress-translation-arrays (compress translation arrays (experimental))
type: bool default: --no-turbo-compress-translation-arrays
--turbo-inline-js-wasm-calls (inline JS->Wasm calls)
type: bool default: --turbo-inline-js-wasm-calls
--turbo-use-mid-tier-regalloc-for-huge-functions (fall back to the mid-tier register allocator for huge functions)
type: bool default: --turbo-use-mid-tier-regalloc-for-huge-functions
--turbo-force-mid-tier-regalloc (always use the mid-tier register allocator (for testing))
type: bool default: --no-turbo-force-mid-tier-regalloc
--turbo-optimize-apply (optimize Function.prototype.apply)
type: bool default: --turbo-optimize-apply
--turbo-optimize-math-minmax (optimize call math.min/max with double array)
type: bool default: --turbo-optimize-math-minmax
--turbo-collect-feedback-in-generic-lowering (enable experimental feedback collection in generic lowering.)
type: bool default: --no-turbo-collect-feedback-in-generic-lowering
--isolate-script-cache-ageing (enable ageing of the isolate script cache.)
type: bool default: --isolate-script-cache-ageing
--turboshaft (enable TurboFan's Turboshaft phases for JS (experimental))
type: bool default: --no-turboshaft
--turboshaft-trace-reduction (trace individual Turboshaft reduction steps)
type: bool default: --no-turboshaft-trace-reduction
--turboshaft-wasm (enable TurboFan's Turboshaft phases for wasm (experimental))
type: bool default: --no-turboshaft-wasm
--optimize-for-size (Enables optimizations which favor memory size over execution speed)
type: bool default: --no-optimize-for-size
--wasm-generic-wrapper (allow use of the generic js-to-wasm wrapper instead of per-signature wrappers)
type: bool default: --wasm-generic-wrapper
--enable-wasm-arm64-generic-wrapper (allow use of the generic js-to-wasm wrapper instead of per-signature wrappers on arm64)
type: bool default: --enable-wasm-arm64-generic-wrapper
--expose-wasm (expose wasm interface to JavaScript)
type: bool default: --expose-wasm
--wasm-num-compilation-tasks (maximum number of parallel compilation tasks for wasm)
type: int default: --wasm-num-compilation-tasks=128
--trace-wasm-native-heap (trace wasm native heap events)
type: bool default: --no-trace-wasm-native-heap
--wasm-memory-protection-keys (protect wasm code memory with PKU if available)
type: bool default: --wasm-memory-protection-keys
--trace-wasm-serialization (trace serialization/deserialization)
type: bool default: --no-trace-wasm-serialization
--wasm-async-compilation (enable actual asynchronous compilation for WebAssembly.compile)
type: bool default: --wasm-async-compilation
--wasm-test-streaming (use streaming compilation instead of async compilation for tests)
type: bool default: --no-wasm-test-streaming
--wasm-native-module-cache-enabled (enable the native module cache)
type: bool default: --wasm-native-module-cache-enabled
--wasm-max-mem-pages (maximum number of 64KiB memory pages per wasm memory)
type: uint default: --wasm-max-mem-pages=4294967295
--wasm-max-table-size (maximum table size of a wasm instance)
type: uint default: --wasm-max-table-size=10000000
--wasm-max-committed-code-mb (maximum committed code space for wasm (in MB))
type: uint default: --wasm-max-committed-code-mb=4095
--wasm-max-code-space-size-mb (maximum size of a single wasm code space)
type: uint default: --wasm-max-code-space-size-mb=1024
--wasm-tier-up (enable tier up to the optimizing compiler (requires --liftoff to have an effect))
type: bool default: --wasm-tier-up
--wasm-dynamic-tiering (enable dynamic tier up to the optimizing compiler)
type: bool default: --wasm-dynamic-tiering
--wasm-tiering-budget (budget for dynamic tiering (rough approximation of bytes executed)
type: int default: --wasm-tiering-budget=1800000
--max-wasm-functions (maximum number of wasm functions supported in a module)
type: int default: --max-wasm-functions=1000000
--wasm-caching-threshold (the amount of wasm top tier code that triggers the next caching event)
type: int default: --wasm-caching-threshold=1000000
--trace-wasm-compilation-times (print how long it took to compile each wasm function)
type: bool default: --no-trace-wasm-compilation-times
--wasm-tier-up-filter (only tier-up function with this index)
type: int default: --wasm-tier-up-filter=-1
--trace-wasm-decoder (trace decoding of wasm code)
type: bool default: --no-trace-wasm-decoder
--trace-wasm-compiler (trace compiling of wasm code)
type: bool default: --no-trace-wasm-compiler
--trace-wasm-interpreter (trace interpretation of wasm code)
type: bool default: --no-trace-wasm-interpreter
--trace-wasm-streaming (trace streaming compilation of wasm code)
type: bool default: --no-trace-wasm-streaming
--trace-wasm-stack-switching (trace wasm stack switching)
type: bool default: --no-trace-wasm-stack-switching
--wasm-stack-switching-stack-size (default size of stacks for wasm stack-switching (in kB))
type: int default: --wasm-stack-switching-stack-size=984
--liftoff (enable Liftoff, the baseline compiler for WebAssembly)
type: bool default: --liftoff
--liftoff-only (disallow TurboFan compilation for WebAssembly (for testing))
type: bool default: --no-liftoff-only
--enable-testing-opcode-in-wasm (enables a testing opcode in wasm that is only implemented in TurboFan)
type: bool default: --no-enable-testing-opcode-in-wasm
--trace-liftoff (trace Liftoff, the baseline compiler for WebAssembly)
type: bool default: --no-trace-liftoff
--trace-wasm-memory (print all memory updates performed in wasm code)
type: bool default: --no-trace-wasm-memory
--wasm-tier-mask-for-testing (bitmask of functions to compile with TurboFan instead of Liftoff)
type: int default: --wasm-tier-mask-for-testing=0
--wasm-debug-mask-for-testing (bitmask of functions to compile for debugging, only applies if the tier is Liftoff)
type: int default: --wasm-debug-mask-for-testing=0
--experimental-wasm-pgo-to-file (experimental: dump Wasm PGO information to a local file (for testing))
type: bool default: --no-experimental-wasm-pgo-to-file
--experimental-wasm-pgo-from-file (experimental: read and use Wasm PGO data from a local file (for testing))
type: bool default: --no-experimental-wasm-pgo-from-file
--validate-asm (validate asm.js modules before compiling)
type: bool default: --validate-asm
--suppress-asm-messages (don't emit asm.js related messages (for golden file testing))
type: bool default: --no-suppress-asm-messages
--trace-asm-time (print asm.js timing info to the console)
type: bool default: --no-trace-asm-time
--trace-asm-scanner (print tokens encountered by asm.js scanner)
type: bool default: --no-trace-asm-scanner
--trace-asm-parser (verbose logging of asm.js parse failures)
type: bool default: --no-trace-asm-parser
--stress-validate-asm (try to validate everything as asm.js)
type: bool default: --no-stress-validate-asm
--dump-wasm-module (dump wasm module bytes)
type: bool default: --no-dump-wasm-module
--dump-wasm-module-path (directory to dump wasm modules to)
type: string default: --dump-wasm-module-path=""
--experimental-wasm-compilation-hints (enable compilation hints section for Wasm (experimental))
type: bool default: --no-experimental-wasm-compilation-hints
--experimental-wasm-instruction-tracing (enable instruction tracing section for Wasm (experimental))
type: bool default: --no-experimental-wasm-instruction-tracing
--experimental-wasm-gc (enable garbage collection for Wasm (experimental))
type: bool default: --no-experimental-wasm-gc
--experimental-wasm-js-inlining (enable inline small wasm functions into JS for Wasm (experimental))
type: bool default: --no-experimental-wasm-js-inlining
--experimental-wasm-assume-ref-cast-succeeds (enable assume ref.cast always succeeds and skip the related type check (unsafe) for Wasm (experimental))
type: bool default: --no-experimental-wasm-assume-ref-cast-succeeds
--experimental-wasm-ref-cast-nop (enable enable unsafe ref.cast_nop instruction for Wasm (experimental))
type: bool default: --no-experimental-wasm-ref-cast-nop
--experimental-wasm-skip-null-checks (enable skip null checks for call.ref and array and struct operations (unsafe) for Wasm (experimental))
type: bool default: --no-experimental-wasm-skip-null-checks
--experimental-wasm-skip-bounds-checks (enable skip array bounds checks (unsafe) for Wasm (experimental))
type: bool default: --no-experimental-wasm-skip-bounds-checks
--experimental-wasm-typed-funcref (enable typed function references for Wasm (experimental))
type: bool default: --no-experimental-wasm-typed-funcref
--experimental-wasm-branch-hinting (enable branch hinting for Wasm (experimental))
type: bool default: --no-experimental-wasm-branch-hinting
--experimental-wasm-stack-switching (enable stack switching for Wasm (experimental))
type: bool default: --no-experimental-wasm-stack-switching
--experimental-wasm-stringref (enable reference-typed strings for Wasm (experimental))
type: bool default: --no-experimental-wasm-stringref
--experimental-wasm-type-reflection (enable wasm type reflection in JS for Wasm)
type: bool default: --no-experimental-wasm-type-reflection
--experimental-wasm-memory64 (enable memory64 for Wasm)
type: bool default: --no-experimental-wasm-memory64
--experimental-wasm-relaxed-simd (enable relaxed simd for Wasm)
type: bool default: --no-experimental-wasm-relaxed-simd
--experimental-wasm-extended-const (enable extended constant expressions for Wasm)
type: bool default: --no-experimental-wasm-extended-const
--experimental-wasm-inlining (enable wasm-into-wasm inlining for Wasm)
type: bool default: --no-experimental-wasm-inlining
--experimental-wasm-return-call (enable return call opcodes for Wasm)
type: bool default: --experimental-wasm-return-call
--wasm-staging (enable staged wasm features)
type: bool default: --no-wasm-staging
--wasm-opt (enable wasm optimization)
type: bool default: --wasm-opt
--wasm-bounds-checks (enable bounds checks (disable for performance testing only))
type: bool default: --wasm-bounds-checks
--wasm-stack-checks (enable stack checks (disable for performance testing only))
type: bool default: --wasm-stack-checks
--wasm-enforce-bounds-checks (enforce explicit bounds check even if the trap handler is available)
type: bool default: --no-wasm-enforce-bounds-checks
--wasm-math-intrinsics (intrinsify some Math imports into wasm)
type: bool default: --wasm-math-intrinsics
--wasm-inlining (enable inlining of wasm functions into wasm functions (experimental))
type: bool default: --no-wasm-inlining
--wasm-inlining-budget (maximum graph size (in TF nodes) that allows inlining more)
type: size_t default: --wasm-inlining-budget=5000
--wasm-inlining-max-size (maximum function size (in wire bytes) that may be inlined)
type: size_t default: --wasm-inlining-max-size=500
--wasm-speculative-inlining (enable speculative inlining of call_ref targets (experimental))
type: bool default: --no-wasm-speculative-inlining
--trace-wasm-inlining (trace wasm inlining)
type: bool default: --no-trace-wasm-inlining
--trace-wasm-speculative-inlining (trace wasm speculative inlining)
type: bool default: --no-trace-wasm-speculative-inlining
--trace-wasm-typer (trace wasm typer)
type: bool default: --no-trace-wasm-typer
--wasm-final-types (enable final types as default for wasm-gc)
type: bool default: --no-wasm-final-types
--wasm-loop-unrolling (enable loop unrolling for wasm functions)
type: bool default: --wasm-loop-unrolling
--wasm-loop-peeling (enable loop peeling for wasm functions)
type: bool default: --wasm-loop-peeling
--wasm-loop-peeling-max-size (maximum size for peeling)
type: size_t default: --wasm-loop-peeling-max-size=1000
--trace-wasm-loop-peeling (trace wasm loop peeling)
type: bool default: --no-trace-wasm-loop-peeling
--wasm-fuzzer-gen-test (generate a test case when running a wasm fuzzer)
type: bool default: --no-wasm-fuzzer-gen-test
--print-wasm-code (print WebAssembly code)
type: bool default: --no-print-wasm-code
--print-wasm-code-function-index (print WebAssembly code for function at index)
type: int default: --print-wasm-code-function-index=-1
--print-wasm-stub-code (print WebAssembly stub code)
type: bool default: --no-print-wasm-stub-code
--asm-wasm-lazy-compilation (enable lazy compilation for asm-wasm modules)
type: bool default: --asm-wasm-lazy-compilation
--wasm-lazy-compilation (enable lazy compilation for all wasm modules)
type: bool default: --wasm-lazy-compilation
--trace-wasm-lazy-compilation (trace lazy compilation of wasm functions)
type: bool default: --no-trace-wasm-lazy-compilation
--wasm-lazy-validation (enable lazy validation for lazily compiled wasm functions)
type: bool default: --no-wasm-lazy-validation
--wasm-simd-ssse3-codegen (allow wasm SIMD SSSE3 codegen)
type: bool default: --no-wasm-simd-ssse3-codegen
--wasm-code-gc (enable garbage collection of wasm code)
type: bool default: --wasm-code-gc
--trace-wasm-code-gc (trace garbage collection of wasm code)
type: bool default: --no-trace-wasm-code-gc
--stress-wasm-code-gc (stress test garbage collection of wasm code)
type: bool default: --no-stress-wasm-code-gc
--wasm-max-initial-code-space-reservation (maximum size of the initial wasm code space reservation (in MB))
type: int default: --wasm-max-initial-code-space-reservation=0
--wasm-max-module-size (maximum allowed size of wasm modules)
type: size_t default: --wasm-max-module-size=1073741824
--wasm-disassembly-max-mb (maximum size of produced disassembly (in MB, approximate))
type: size_t default: --wasm-disassembly-max-mb=1000
--trace-wasm (trace wasm function calls)
type: bool default: --no-trace-wasm
--trace-wasm-instances (trace creation and collection of wasm instances)
type: bool default: --no-trace-wasm-instances
--stress-sampling-allocation-profiler (Enables sampling allocation profiler with X as a sample interval)
type: int default: --stress-sampling-allocation-profiler=0
--lazy-new-space-shrinking (Enables the lazy new space shrinking strategy)
type: bool default: --no-lazy-new-space-shrinking
--min-semi-space-size (min size of a semi-space (in MBytes), the new space consists of two semi-spaces)
type: size_t default: --min-semi-space-size=0
--max-semi-space-size (max size of a semi-space (in MBytes), the new space consists of two semi-spaces)
type: size_t default: --max-semi-space-size=0
--semi-space-growth-factor (factor by which to grow the new space)
type: int default: --semi-space-growth-factor=2
--max-old-space-size (max size of the old space (in Mbytes))
type: size_t default: --max-old-space-size=0
--max-heap-size (max size of the heap (in Mbytes) both max_semi_space_size and max_old_space_size take precedence. All three flags cannot be specified at the same time.)
type: size_t default: --max-heap-size=0
--initial-heap-size (initial size of the heap (in Mbytes))
type: size_t default: --initial-heap-size=0
--huge-max-old-generation-size (Increase max size of the old space to 4 GB for x64 systems withthe physical memory bigger than 16 GB)
type: bool default: --huge-max-old-generation-size
--initial-old-space-size (initial old space size (in Mbytes))
type: size_t default: --initial-old-space-size=0
--separate-gc-phases (young and full garbage collection phases are not overlapping)
type: bool default: --no-separate-gc-phases
--gc-global (always perform global GCs)
type: bool default: --no-gc-global
--random-gc-interval (Collect garbage after random(0, X) allocations. It overrides gc_interval.)
type: int default: --random-gc-interval=0
--gc-interval (garbage collect after <n> allocations)
type: int default: --gc-interval=-1
--retain-maps-for-n-gc (keeps maps alive for <n> old space garbage collections)
type: int default: --retain-maps-for-n-gc=2
--trace-gc (print one trace line following each garbage collection)
type: bool default: --no-trace-gc
--trace-gc-nvp (print one detailed trace line in name=value format after each garbage collection)
type: bool default: --no-trace-gc-nvp
--trace-gc-ignore-scavenger (do not print trace line after scavenger collection)
type: bool default: --no-trace-gc-ignore-scavenger
--trace-idle-notification (print one trace line following each idle notification)
type: bool default: --no-trace-idle-notification
--trace-idle-notification-verbose (prints the heap state used by the idle notification)
type: bool default: --no-trace-idle-notification-verbose
--trace-gc-verbose (print more details following each garbage collection)
type: bool default: --no-trace-gc-verbose
--trace-gc-freelists (prints details of each freelist before and after each major garbage collection)
type: bool default: --no-trace-gc-freelists
--trace-gc-freelists-verbose (prints details of freelists of each page before and after each major garbage collection)
type: bool default: --no-trace-gc-freelists-verbose
--trace-gc-heap-layout (print layout of pages in heap before and after gc)
type: bool default: --no-trace-gc-heap-layout
--trace-gc-heap-layout-ignore-minor-gc (do not print trace line before and after minor-gc)
type: bool default: --trace-gc-heap-layout-ignore-minor-gc
--trace-evacuation-candidates (Show statistics about the pages evacuation by the compaction)
type: bool default: --no-trace-evacuation-candidates
--trace-allocations-origins (Show statistics about the origins of allocations. Combine with --no-inline-new to track allocations from generated code)
type: bool default: --no-trace-allocations-origins
--trace-pending-allocations (trace calls to Heap::IsAllocationPending that return true)
type: bool default: --no-trace-pending-allocations
--trace-allocation-stack-interval (print stack trace after <n> free-list allocations)
type: int default: --trace-allocation-stack-interval=-1
--trace-duplicate-threshold-kb (print duplicate objects in the heap if their size is more than given threshold)
type: int default: --trace-duplicate-threshold-kb=0
--trace-fragmentation (report fragmentation for old space)
type: bool default: --no-trace-fragmentation
--trace-fragmentation-verbose (report fragmentation for old space (detailed))
type: bool default: --no-trace-fragmentation-verbose
--minor-mc-trace-fragmentation (trace fragmentation after marking)
type: bool default: --no-minor-mc-trace-fragmentation
--trace-evacuation (report evacuation statistics)
type: bool default: --no-trace-evacuation
--trace-mutator-utilization (print mutator utilization, allocation speed, gc speed)
type: bool default: --no-trace-mutator-utilization
--incremental-marking (use incremental marking)
type: bool default: --incremental-marking
--incremental-marking-wrappers (use incremental marking for marking wrappers)
type: bool default: --incremental-marking-wrappers
--incremental-marking-task (use tasks for incremental marking)
type: bool default: --incremental-marking-task
--incremental-marking-soft-trigger (threshold for starting incremental marking via a task in percent of available space: limit - size)
type: int default: --incremental-marking-soft-trigger=0
--fast-forward-schedule (Fast forwards marking schedule)
type: bool default: --no-fast-forward-schedule
--incremental-marking-hard-trigger (threshold for starting incremental marking immediately in percent of available space: limit - size)
type: int default: --incremental-marking-hard-trigger=0
--trace-unmapper (Trace the unmapping)
type: bool default: --no-trace-unmapper
--parallel-scavenge (parallel scavenge)
type: bool default: --parallel-scavenge
--minor-gc-task (schedule scavenge tasks)
type: bool default: --minor-gc-task
--minor-gc-task-trigger (minor GC task trigger in percent of the current heap limit)
type: int default: --minor-gc-task-trigger=80
--scavenge-separate-stack-scanning (use a separate phase for stack scanning in scavenge)
type: bool default: --no-scavenge-separate-stack-scanning
--trace-parallel-scavenge (trace parallel scavenge)
type: bool default: --no-trace-parallel-scavenge
--cppgc-young-generation (run young generation garbage collections in Oilpan (experimental))
type: bool default: --no-cppgc-young-generation
--write-protect-code-memory (write protect code memory)
type: bool default: --no-write-protect-code-memory
--concurrent-marking (use concurrent marking)
type: bool default: --concurrent-marking
--concurrent-marking-max-worker-num (max worker number of concurrent marking, 0 for NumberOfWorkerThreads)
type: int default: --concurrent-marking-max-worker-num=7
--concurrent-array-buffer-sweeping (concurrently sweep array buffers)
type: bool default: --concurrent-array-buffer-sweeping
--stress-concurrent-allocation (start background threads that allocate memory)
type: bool default: --no-stress-concurrent-allocation
--parallel-marking (use parallel marking in atomic pause)
type: bool default: --parallel-marking
--ephemeron-fixpoint-iterations (number of fixpoint iterations it takes to switch to linear ephemeron algorithm)
type: int default: --ephemeron-fixpoint-iterations=10
--trace-concurrent-marking (trace concurrent marking)
type: bool default: --no-trace-concurrent-marking
--concurrent-sweeping (use concurrent sweeping)
type: bool default: --concurrent-sweeping
--parallel-compaction (use parallel compaction)
type: bool default: --parallel-compaction
--parallel-pointer-update (use parallel pointer update during compaction)
type: bool default: --parallel-pointer-update
--detect-ineffective-gcs-near-heap-limit (trigger out-of-memory failure to avoid GC storm near heap limit)
type: bool default: --detect-ineffective-gcs-near-heap-limit
--trace-incremental-marking (trace progress of the incremental marking)
type: bool default: --no-trace-incremental-marking
--trace-stress-marking (trace stress marking progress)
type: bool default: --no-trace-stress-marking
--trace-stress-scavenge (trace stress scavenge progress)
type: bool default: --no-trace-stress-scavenge
--track-gc-object-stats (track object counts and memory usage)
type: bool default: --no-track-gc-object-stats
--trace-gc-object-stats (trace object counts and memory usage)
type: bool default: --no-trace-gc-object-stats
--trace-zone-stats (trace zone memory usage)
type: bool default: --no-trace-zone-stats
--zone-stats-tolerance (report a tick only when allocated zone memory changes by this amount)
type: size_t default: --zone-stats-tolerance=1048576
--trace-zone-type-stats (trace per-type zone memory usage)
type: bool default: --no-trace-zone-type-stats
--track-retaining-path (enable support for tracking retaining path)
type: bool default: --no-track-retaining-path
--trace-backing-store (trace backing store events)
type: bool default: --no-trace-backing-store
--gc-stats (Used by tracing internally to enable gc statistics)
type: int default: --gc-stats=0
--track-detached-contexts (track native contexts that are expected to be garbage collected)
type: bool default: --track-detached-contexts
--trace-detached-contexts (trace native contexts that are expected to be garbage collected)
type: bool default: --no-trace-detached-contexts
--verify-heap (verify heap pointers before and after GC)
type: bool default: --no-verify-heap
--move-object-start (enable moving of object starts)
type: bool default: --move-object-start
--memory-reducer (use memory reducer)
type: bool default: --memory-reducer
--memory-reducer-for-small-heaps (use memory reducer for small heaps)
type: bool default: --memory-reducer-for-small-heaps
--memory-reducer-single-gc (only schedule a single GC from memory reducer)
type: bool default: --no-memory-reducer-single-gc
--heap-growing-percent (specifies heap growing factor as (1 + heap_growing_percent/100))
type: int default: --heap-growing-percent=0
--v8-os-page-size (override OS page size (in KBytes))
type: int default: --v8-os-page-size=0
--allocation-buffer-parking (allocation buffer parking)
type: bool default: --allocation-buffer-parking
--compact (Perform compaction on full GCs based on V8's default heuristics)
type: bool default: --compact
--compact-code-space (Perform code space compaction on full collections.)
type: bool default: --compact-code-space
--compact-on-every-full-gc (Perform compaction on every full GC)
type: bool default: --no-compact-on-every-full-gc
--compact-with-stack (Perform compaction when finalizing a full GC with stack)
type: bool default: --compact-with-stack
--compact-code-space-with-stack (Perform code space compaction when finalizing a full GC with stack)
type: bool default: --compact-code-space-with-stack
--shortcut-strings-with-stack (Shortcut Strings during GC with stack)
type: bool default: --shortcut-strings-with-stack
--stress-compaction (Stress GC compaction to flush out bugs (implies --force_marking_deque_overflows))
type: bool default: --no-stress-compaction
--stress-compaction-random (Stress GC compaction by selecting random percent of pages as evacuation candidates. Overrides stress_compaction.)
type: bool default: --no-stress-compaction-random
--flush-baseline-code (flush of baseline code when it has not been executed recently)
type: bool default: --no-flush-baseline-code
--flush-bytecode (flush of bytecode when it has not been executed recently)
type: bool default: --flush-bytecode
--bytecode-old-age (number of gcs before we flush code)
type: int default: --bytecode-old-age=5
--stress-flush-code (stress code flushing)
type: bool default: --no-stress-flush-code
--trace-flush-bytecode (trace bytecode flushing)
type: bool default: --no-trace-flush-bytecode
--use-marking-progress-bar (Use a progress bar to scan large objects in increments when incremental marking is active.)
type: bool default: --use-marking-progress-bar
--stress-per-context-marking-worklist (Use per-context worklist for marking)
type: bool default: --no-stress-per-context-marking-worklist
--force-marking-deque-overflows (force overflows of marking deque by reducing it's size to 64 words)
type: bool default: --no-force-marking-deque-overflows
--stress-incremental-marking (force incremental marking for small heaps and run it more often)
type: bool default: --no-stress-incremental-marking
--fuzzer-gc-analysis (prints number of allocations and enables analysis mode for gc fuzz testing, e.g. --stress-marking, --stress-scavenge)
type: bool default: --no-fuzzer-gc-analysis
--stress-marking (force marking at random points between 0 and X (inclusive) percent of the regular marking start limit)
type: int default: --stress-marking=0
--stress-scavenge (force scavenge at random points between 0 and X (inclusive) percent of the new space capacity)
type: int default: --stress-scavenge=0
--reclaim-unmodified-wrappers (reclaim otherwise unreachable unmodified wrapper objects when possible)
type: bool default: --reclaim-unmodified-wrappers
--gc-experiment-less-compaction (less compaction in non-memory reducing mode)
type: bool default: --no-gc-experiment-less-compaction
--gc-memory-reducer-start-delay-ms (Delay before memory reducer start)
type: int default: --gc-memory-reducer-start-delay-ms=8000
--disable-abortjs (disables AbortJS runtime function)
type: bool default: --no-disable-abortjs
--randomize-all-allocations (randomize virtual memory reservations by ignoring any hints passed when allocating pages)
type: bool default: --no-randomize-all-allocations
--manual-evacuation-candidates-selection (Test mode only flag. It allows an unit test to select evacuation candidates pages (requires --stress_compaction).)
type: bool default: --no-manual-evacuation-candidates-selection
--clear-free-memory (initialize free memory with 0)
type: bool default: --no-clear-free-memory
--crash-on-aborted-evacuation (crash when evacuation of page fails)
type: bool default: --no-crash-on-aborted-evacuation
--cppheap-incremental-marking (use incremental marking for CppHeap)
type: bool default: --cppheap-incremental-marking
--cppheap-concurrent-marking (use concurrent marking for CppHeap)
type: bool default: --cppheap-concurrent-marking
--debug-code ()
type: bool default: --no-debug-code
--code-comments ()
type: bool default: --no-code-comments
--enable-sse3 (enable use of SSE3 instructions if available)
type: bool default: --enable-sse3
--enable-ssse3 (enable use of SSSE3 instructions if available)
type: bool default: --enable-ssse3
--enable-sse4-1 (enable use of SSE4.1 instructions if available)
type: bool default: --enable-sse4-1
--enable-sse4-2 (enable use of SSE4.2 instructions if available)
type: bool default: --enable-sse4-2
--enable-sahf (enable use of SAHF instruction if available (X64 only))
type: bool default: --enable-sahf
--enable-avx (enable use of AVX instructions if available)
type: bool default: --enable-avx
--enable-avx2 (enable use of AVX2 instructions if available)
type: bool default: --enable-avx2
--enable-fma3 (enable use of FMA3 instructions if available)
type: bool default: --enable-fma3
--enable-bmi1 (enable use of BMI1 instructions if available)
type: bool default: --enable-bmi1
--enable-bmi2 (enable use of BMI2 instructions if available)
type: bool default: --enable-bmi2
--enable-lzcnt (enable use of LZCNT instruction if available)
type: bool default: --enable-lzcnt
--enable-popcnt (enable use of POPCNT instruction if available)
type: bool default: --enable-popcnt
--arm-arch (generate instructions for the selected ARM architecture if available: armv6, armv7, armv7+sudiv or armv8)
type: string default: --arm-arch="armv8"
--force-long-branches (force all emitted branches to be in long mode (MIPS/PPC only))
type: bool default: --no-force-long-branches
--mcpu (enable optimization for specific cpu)
type: string default: --mcpu="auto"
--partial-constant-pool (enable use of partial constant pools (X64 only))
type: bool default: --partial-constant-pool
--sim-arm64-optional-features (enable optional features on the simulator for testing: none or all)
type: string default: --sim-arm64-optional-features="none"
--enable-source-at-csa-bind (Include source information in the binary at CSA bind locations.)
type: bool default: --no-enable-source-at-csa-bind
--enable-armv7 (deprecated (use --arm_arch instead))
type: maybe_bool default: --enable-armv7=unset
--enable-vfp3 (deprecated (use --arm_arch instead))
type: maybe_bool default: --enable-vfp3=unset
--enable-32dregs (deprecated (use --arm_arch instead))
type: maybe_bool default: --enable-32dregs=unset
--enable-neon (deprecated (use --arm_arch instead))
type: maybe_bool default: --enable-neon=unset
--enable-sudiv (deprecated (use --arm_arch instead))
type: maybe_bool default: --enable-sudiv=unset
--enable-armv8 (deprecated (use --arm_arch instead))
type: maybe_bool default: --enable-armv8=unset
--enable-regexp-unaligned-accesses (enable unaligned accesses for the regexp engine)
type: bool default: --enable-regexp-unaligned-accesses
--script-streaming (enable parsing on background)
type: bool default: --script-streaming
--stress-background-compile (stress test parsing on background)
type: bool default: --no-stress-background-compile
--concurrent-cache-deserialization (enable deserializing code caches on background)
type: bool default: --concurrent-cache-deserialization
--merge-background-deserialized-script-with-compilation-cache (After deserializing code cache data on a background thread, merge it into an existing Script if one is found in the Isolate compilation cache)
type: bool default: --merge-background-deserialized-script-with-compilation-cache
--disable-old-api-accessors (Disable old-style API accessors whose setters trigger through the prototype chain)
type: bool default: --no-disable-old-api-accessors
--embedder-instance-types (enable type checks based on instance types provided by the embedder)
type: bool default: --no-embedder-instance-types
--expose-gc (expose gc extension)
type: bool default: --no-expose-gc
--expose-gc-as (expose gc extension under the specified name)
type: string default: --expose-gc-as=""
--expose-externalize-string (expose externalize string extension)
type: bool default: --no-expose-externalize-string
--expose-statistics (expose statistics extension)
type: bool default: --no-expose-statistics
--expose-trigger-failure (expose trigger-failure extension)
type: bool default: --no-expose-trigger-failure
--expose-ignition-statistics (expose ignition-statistics extension (requires building with v8_enable_ignition_dispatch_counting))
type: bool default: --no-expose-ignition-statistics
--stack-trace-limit (number of stack frames to capture)
type: int default: --stack-trace-limit=10
--builtins-in-stack-traces (show built-in functions in stack traces)
type: bool default: --no-builtins-in-stack-traces
--experimental-stack-trace-frames (enable experimental frames (API/Builtins) and stack trace layout)
type: bool default: --no-experimental-stack-trace-frames
--disallow-code-generation-from-strings (disallow eval and friends)
type: bool default: --no-disallow-code-generation-from-strings
--expose-async-hooks (expose async_hooks object)
type: bool default: --no-expose-async-hooks
--expose-cputracemark-as (expose cputracemark extension under the specified name)
type: string default: --expose-cputracemark-as=""
--allow-unsafe-function-constructor (allow invoking the function constructor without security checks)
type: bool default: --no-allow-unsafe-function-constructor
--force-slow-path (always take the slow path for builtins)
type: bool default: --no-force-slow-path
--test-small-max-function-context-stub-size (enable testing the function context size overflow path by making the maximum size smaller)
type: bool default: --no-test-small-max-function-context-stub-size
--inline-new (use fast inline allocation)
type: bool default: --inline-new
--switch-table-spread-threshold (allow the jump table used for switch statements to span a range of integers roughly equal to this number times the number of clauses in the switch)
type: int default: --switch-table-spread-threshold=3
--switch-table-min-cases (the number of Smi integer cases present in the switch statement before using the jump table optimization)
type: int default: --switch-table-min-cases=6
--trace (trace javascript function calls)
type: bool default: --no-trace
--lazy (use lazy compilation)
type: bool default: --lazy
--lazy-eval (use lazy compilation during eval)
type: bool default: --lazy-eval
--lazy-streaming (use lazy compilation during streaming compilation)
type: bool default: --lazy-streaming
--max-lazy (ignore eager compilation hints)
type: bool default: --no-max-lazy
--trace-opt (trace optimized compilation)
type: bool default: --no-trace-opt
--trace-opt-verbose (extra verbose optimized compilation tracing)
type: bool default: --no-trace-opt-verbose
--trace-opt-stats (trace optimized compilation statistics)
type: bool default: --no-trace-opt-stats
--trace-deopt (trace deoptimization)
type: bool default: --no-trace-deopt
--log-deopt (log deoptimization)
type: bool default: --no-log-deopt
--trace-deopt-verbose (extra verbose deoptimization tracing)
type: bool default: --no-trace-deopt-verbose
--trace-file-names (include file names in trace-opt/trace-deopt output)
type: bool default: --no-trace-file-names
--always-turbofan (always try to optimize functions)
type: bool default: --no-always-turbofan
--always-osr (always try to OSR functions)
type: bool default: --no-always-osr
--prepare-always-turbofan (prepare for turning on always opt)
type: bool default: --no-prepare-always-turbofan
--deopt-to-baseline (deoptimize to baseline code when available)
type: bool default: --no-deopt-to-baseline
--trace-serializer (print code serializer trace)
type: bool default: --no-trace-serializer
--compilation-cache (enable compilation cache)
type: bool default: --compilation-cache
--cache-prototype-transitions (cache prototype transitions)
type: bool default: --cache-prototype-transitions
--lazy-compile-dispatcher (enable compiler dispatcher)
type: bool default: --no-lazy-compile-dispatcher
--lazy-compile-dispatcher-max-threads (max threads for compiler dispatcher (0 for unbounded))
type: uint default: --lazy-compile-dispatcher-max-threads=0
--trace-compiler-dispatcher (trace compiler dispatcher activity)
type: bool default: --no-trace-compiler-dispatcher
--parallel-compile-tasks-for-eager-toplevel (spawn parallel compile tasks for eagerly compiled, top-level functions)
type: bool default: --no-parallel-compile-tasks-for-eager-toplevel
--parallel-compile-tasks-for-lazy (spawn parallel compile tasks for all lazily compiled functions)
type: bool default: --no-parallel-compile-tasks-for-lazy
--cpu-profiler-sampling-interval (CPU profiler sampling interval in microseconds)
type: int default: --cpu-profiler-sampling-interval=1000
--trace-side-effect-free-debug-evaluate (print debug messages for side-effect-free debug-evaluate for testing)
type: bool default: --no-trace-side-effect-free-debug-evaluate
--hard-abort (abort by crashing)
type: bool default: --hard-abort
--experimental-value-unavailable (enable experimental <value unavailable> in scopes)
type: bool default: --no-experimental-value-unavailable
--log-colour (When logging, try to use coloured output.)
type: bool default: --log-colour
--expose-inspector-scripts (expose injected-script-source.js for debugging)
type: bool default: --no-expose-inspector-scripts
--stack-size (default size of stack region v8 is allowed to use (in kBytes))
type: int default: --stack-size=984
--max-stack-trace-source-length (maximum length of function source code printed in a stack trace.)
type: int default: --max-stack-trace-source-length=300
--clear-exceptions-on-js-entry (clear pending exceptions when entering JavaScript)
type: bool default: --no-clear-exceptions-on-js-entry
--histogram-interval (time interval in ms for aggregating memory histograms)
type: int default: --histogram-interval=600000
--heap-profiler-trace-objects (Dump heap object allocations/movements/size_updates)
type: bool default: --no-heap-profiler-trace-objects
--heap-profiler-use-embedder-graph (Use the new EmbedderGraph API to get embedder nodes)
type: bool default: --heap-profiler-use-embedder-graph
--heap-snapshot-string-limit (truncate strings to this length in the heap snapshot)
type: int default: --heap-snapshot-string-limit=1024
--heap-profiler-show-hidden-objects (use 'native' rather than 'hidden' node type in snapshot)
type: bool default: --no-heap-profiler-show-hidden-objects
--sampling-heap-profiler-suppress-randomness (Use constant sample intervals to eliminate test flakiness)
type: bool default: --no-sampling-heap-profiler-suppress-randomness
--use-idle-notification (Use idle notification to reduce memory footprint.)
type: bool default: --use-idle-notification
--log-ic (Log inline cache state transitions for tools/ic-processor)
type: bool default: --no-log-ic
--fast-map-update (enable fast map update by caching the migration target)
type: bool default: --no-fast-map-update
--max-valid-polymorphic-map-count (maximum number of valid maps to track in POLYMORPHIC state)
type: int default: --max-valid-polymorphic-map-count=4
--native-code-counters (generate extra code for manipulating stats counters)
type: bool default: --no-native-code-counters
--super-ic (use an IC for super property loads)
type: bool default: --super-ic
--mega-dom-ic (use MegaDOM IC state for API objects)
type: bool default: --no-mega-dom-ic
--trace-prototype-users (Trace updates to prototype user tracking)
type: bool default: --no-trace-prototype-users
--trace-for-in-enumerate (Trace for-in enumerate slow-paths)
type: bool default: --no-trace-for-in-enumerate
--log-maps (Log map creation)
type: bool default: --no-log-maps
--log-maps-details (Also log map details)
type: bool default: --log-maps-details
--allow-natives-syntax (allow natives syntax)
type: bool default: --no-allow-natives-syntax
--allow-natives-for-differential-fuzzing (allow only natives explicitly allowlisted for differential fuzzers)
type: bool default: --no-allow-natives-for-differential-fuzzing
--parse-only (only parse the sources)
type: bool default: --no-parse-only
--async-stack-traces (include async stack traces in Error.stack)
type: bool default: --async-stack-traces
--stack-trace-on-illegal (print stack trace when an illegal exception is thrown)
type: bool default: --no-stack-trace-on-illegal
--abort-on-uncaught-exception (abort program (dump core) when an uncaught exception is thrown)
type: bool default: --no-abort-on-uncaught-exception
--correctness-fuzzer-suppressions (Suppress certain unspecified behaviors to ease correctness fuzzing: Abort program when the stack overflows or a string exceeds maximum length (as opposed to throwing RangeError). Use a fixed suppression string for error messages.)
type: bool default: --no-correctness-fuzzer-suppressions
--rehash-snapshot (rehash strings from the snapshot to override the baked-in seed)
type: bool default: --rehash-snapshot
--hash-seed (Fixed seed to use to hash property keys (0 means random)(with snapshots this option cannot override the baked-in seed))
type: uint64 default: --hash-seed=0
--random-seed (Default seed for initializing random generator (0, the default, means to use system random).)
type: int default: --random-seed=0
--fuzzer-random-seed (Default seed for initializing fuzzer random generator (0, the default, means to use v8's random number generator seed).)
type: int default: --fuzzer-random-seed=0
--trace-rail (trace RAIL mode)
type: bool default: --no-trace-rail
--print-all-exceptions (print exception object and stack trace on each thrown exception)
type: bool default: --no-print-all-exceptions
--detailed-error-stack-trace (includes arguments for each function call in the error stack frames array)
type: bool default: --no-detailed-error-stack-trace
--adjust-os-scheduling-parameters (adjust OS specific scheduling params for the isolate)
type: bool default: --adjust-os-scheduling-parameters
--experimental-flush-embedded-blob-icache (Used in an experiment to evaluate icache flushing on certain CPUs)
type: bool default: --experimental-flush-embedded-blob-icache
--short-builtin-calls (Put embedded builtins code into the code range for shorter builtin calls/jumps if system has >=4GB memory)
type: bool default: --short-builtin-calls
--trace-code-range-allocation (Trace code range allocation process.)
type: bool default: --no-trace-code-range-allocation
--better-code-range-allocation (This mode tries harder to allocate code range near .text section. Works only for configurations with external code space and shared pointer compression cage.)
type: bool default: --no-better-code-range-allocation
--abort-on-far-code-range (Abort if code range is allocated further away than 4GB from the.text section)
type: bool default: --no-abort-on-far-code-range
--runtime-call-stats (report runtime call counts and times)
type: bool default: --no-runtime-call-stats
--rcs (report runtime call counts and times)
type: bool default: --no-rcs
--rcs-cpu-time (report runtime times in cpu time (the default is wall time))
type: bool default: --no-rcs-cpu-time
--verify-snapshot-checksum (Verify snapshot checksums when deserializing snapshots. Enable checksum creation and verification for code caches. Enabled by default in debug builds and once per process for Android.)
type: bool default: --no-verify-snapshot-checksum
--profile-deserialization (Print the time it takes to deserialize the snapshot.)
type: bool default: --no-profile-deserialization
--serialization-statistics (Collect statistics on serialized objects.)
type: bool default: --no-serialization-statistics
--regexp-optimization (generate optimized regexp code)
type: bool default: --regexp-optimization
--regexp-interpret-all (interpret all regexp code)
type: bool default: --no-regexp-interpret-all
--regexp-tier-up (enable regexp interpreter and tier up to the compiler after the number of executions set by the tier up ticks flag)
type: bool default: --regexp-tier-up
--regexp-tier-up-ticks (set the number of executions for the regexp interpreter before tiering-up to the compiler)
type: int default: --regexp-tier-up-ticks=1
--regexp-peephole-optimization (enable peephole optimization for regexp bytecode)
type: bool default: --regexp-peephole-optimization
--trace-regexp-peephole-optimization (trace regexp bytecode peephole optimization)
type: bool default: --no-trace-regexp-peephole-optimization
--trace-regexp-bytecodes (trace regexp bytecode execution)
type: bool default: --no-trace-regexp-bytecodes
--trace-regexp-assembler (trace regexp macro assembler calls.)
type: bool default: --no-trace-regexp-assembler
--trace-regexp-parser (trace regexp parsing)
type: bool default: --no-trace-regexp-parser
--trace-regexp-tier-up (trace regexp tiering up execution)
type: bool default: --no-trace-regexp-tier-up
--trace-regexp-graph (trace the regexp graph)
type: bool default: --no-trace-regexp-graph
--enable-experimental-regexp-engine (recognize regexps with 'l' flag, run them on experimental engine)
type: bool default: --no-enable-experimental-regexp-engine
--default-to-experimental-regexp-engine (run regexps with the experimental engine where possible)
type: bool default: --no-default-to-experimental-regexp-engine
--trace-experimental-regexp-engine (trace execution of experimental regexp engine)
type: bool default: --no-trace-experimental-regexp-engine
--enable-experimental-regexp-engine-on-excessive-backtracks (fall back to a breadth-first regexp engine on excessive backtracking)
type: bool default: --no-enable-experimental-regexp-engine-on-excessive-backtracks
--regexp-backtracks-before-fallback (number of backtracks during regexp execution before fall back to experimental engine if enable_experimental_regexp_engine_on_excessive_backtracks is set)
type: uint default: --regexp-backtracks-before-fallback=50000
--testing-bool-flag (testing_bool_flag)
type: bool default: --testing-bool-flag
--testing-maybe-bool-flag (testing_maybe_bool_flag)
type: maybe_bool default: --testing-maybe-bool-flag=unset
--testing-int-flag (testing_int_flag)
type: int default: --testing-int-flag=13
--testing-float-flag (float-flag)
type: float default: --testing-float-flag=2.5
--testing-string-flag (string-flag)
type: string default: --testing-string-flag="Hello, world!"
--testing-prng-seed (Seed used for threading test randomness)
type: int default: --testing-prng-seed=42
--testing-d8-test-runner (test runner turns on this flag to enable a check that the function was prepared for optimization before marking it for optimization)
type: bool default: --no-testing-d8-test-runner
--strict-termination-checks (Enable strict terminating DCHECKs to prevent accidentally keeping on executing JS after terminating V8. (experimental))
type: bool default: --no-strict-termination-checks
--fuzzing (Fuzzers use this flag to signal that they are ... fuzzing. This causes intrinsics to fail silently (e.g. return undefined) on invalid usage.)
type: bool default: --no-fuzzing
--freeze-flags-after-init (Disallow changes to flag values after initializing V8)
type: bool default: --no-freeze-flags-after-init
--embedded-src (Path for the generated embedded data file. (mksnapshot only))
type: string default: --embedded-src=""
--embedded-variant (Label to disambiguate symbols in embedded data file. (mksnapshot only))
type: string default: --embedded-variant=""
--static-roots-src (Path for writing a fresh static-roots.h. (mksnapshot only, build without static roots only))
type: string default: --static-roots-src=""
--startup-src (Write V8 startup as C++ src. (mksnapshot only))
type: string default: --startup-src=""
--startup-blob (Write V8 startup blob file. (mksnapshot only))
type: string default: --startup-blob=""
--target-arch (The mksnapshot target arch. (mksnapshot only))
type: string default: --target-arch=""
--target-os (The mksnapshot target os. (mksnapshot only))
type: string default: --target-os=""
--target-is-simulator (Instruct mksnapshot that the target is meant to run in the simulator and it can generate simulator-specific instructions. (mksnapshot only))
type: bool default: --no-target-is-simulator
--turbo-profiling-input (Path of the input file containing basic block counters for builtins. (mksnapshot only))
type: string default: --turbo-profiling-input=""
--text-is-readable (Whether the .text section of binary can be read)
type: bool default: --text-is-readable
--trace-minor-mc-parallel-marking (trace parallel marking for the young generation)
type: bool default: --no-trace-minor-mc-parallel-marking
--minor-mc (perform young generation mark compact GCs (experimental))
type: bool default: --no-minor-mc
--concurrent-minor-mc-marking (perform young generation marking concurrently (experimental))
type: bool default: --no-concurrent-minor-mc-marking
--help (Print usage message, including flags, on console)
type: bool default: --help
--print-flag-values (Print all flag values of V8)
type: bool default: --no-print-flag-values
--slow-histograms (Enable slow histograms with more overhead.)
type: bool default: --no-slow-histograms
--use-external-strings (Use external strings for source code)
type: bool default: --no-use-external-strings
--map-counters (Map counters to a file)
type: string default: --map-counters=""
--mock-arraybuffer-allocator (Use a mock ArrayBuffer allocator for testing.)
type: bool default: --no-mock-arraybuffer-allocator
--mock-arraybuffer-allocator-limit (Memory limit for mock ArrayBuffer allocator used to simulate OOM for testing.)
type: size_t default: --mock-arraybuffer-allocator-limit=0
--multi-mapped-mock-allocator (Use a multi-mapped mock ArrayBuffer allocator for testing.)
type: bool default: --no-multi-mapped-mock-allocator
--gdbjit (enable GDBJIT interface)
type: bool default: --no-gdbjit
--gdbjit-full (enable GDBJIT interface for all code objects)
type: bool default: --no-gdbjit-full
--gdbjit-dump (dump elf objects with debug info to disk)
type: bool default: --no-gdbjit-dump
--gdbjit-dump-filter (dump only objects containing this substring)
type: string default: --gdbjit-dump-filter=""
--enable-slow-asserts (enable asserts that are slow to execute)
type: bool default: --no-enable-slow-asserts
--print-ast (print source AST)
type: bool default: --no-print-ast
--trap-on-abort (replace aborts by breakpoints)
type: bool default: --no-trap-on-abort
--print-scopes (print scopes)
type: bool default: --no-print-scopes
--trace-contexts (trace contexts operations)
type: bool default: --no-trace-contexts
--gc-verbose (print stuff during garbage collection)
type: bool default: --no-gc-verbose
--code-stats (report code statistics after GC)
type: bool default: --no-code-stats
--print-handles (report handles after GC)
type: bool default: --no-print-handles
--check-handle-count (Check that there are not too many handles at GC)
type: bool default: --no-check-handle-count
--print-global-handles (report global handles after GC)
type: bool default: --no-print-global-handles
--trace-turbo-escape (enable tracing in escape analysis)
type: bool default: --no-trace-turbo-escape
--trace-module-status (Trace status transitions of ECMAScript modules)
type: bool default: --no-trace-module-status
--trace-normalization (prints when objects are turned into dictionaries.)
type: bool default: --no-trace-normalization
--trace-lazy (trace lazy compilation)
type: bool default: --no-trace-lazy
--trace-isolates (trace isolate state changes)
type: bool default: --no-trace-isolates
--regexp-possessive-quantifier (enable possessive quantifier syntax for testing)
type: bool default: --no-regexp-possessive-quantifier
--print-break-location (print source location on debug break)
type: bool default: --no-print-break-location
--logfile (Specify the name of the log file, use '-' for console, '+' for a temporary file.)
type: string default: --logfile="v8.log"
--logfile-per-isolate (Separate log files for each isolate.)
type: bool default: --logfile-per-isolate
--log (Minimal logging (no API, code, GC, suspect, or handles samples).)
type: bool default: --no-log
--log-all (Log all events to the log file.)
type: bool default: --no-log-all
--log-source-code (Log source code.)
type: bool default: --no-log-source-code
--log-source-position (Log detailed source information.)
type: bool default: --no-log-source-position
--log-code (Log code events to the log file without profiling.)
type: bool default: --no-log-code
--log-feedback-vector (Log FeedbackVectors on first creation)
type: bool default: --no-log-feedback-vector
--log-code-disassemble (Log all disassembled code to the log file.)
type: bool default: --no-log-code-disassemble
--log-function-events (Log function events (parse, compile, execute) separately.)
type: bool default: --no-log-function-events
--detailed-line-info (Always generate detailed line information for CPU profiling.)
type: bool default: --no-detailed-line-info
--prof-sampling-interval (Interval for --prof samples (in microseconds).)
type: int default: --prof-sampling-interval=1000
--prof-cpp (Like --prof, but ignore generated code.)
type: bool default: --no-prof-cpp
--prof-browser-mode (Used with --prof, turns on browser-compatible mode for profiling.)
type: bool default: --prof-browser-mode
--prof (Log statistical profiling information (implies --log-code).)
type: bool default: --no-prof
--ll-prof (Enable low-level linux profiler.)
type: bool default: --no-ll-prof
--perf-basic-prof (Enable perf linux profiler (basic support).)
type: bool default: --no-perf-basic-prof
--perf-basic-prof-only-functions (Only report function code ranges to perf (i.e. no stubs).)
type: bool default: --no-perf-basic-prof-only-functions
--perf-prof (Enable perf linux profiler (experimental annotate support).)
type: bool default: --no-perf-prof
--perf-prof-annotate-wasm (Used with --perf-prof, load wasm source map and provide annotate support (experimental).)
type: bool default: --no-perf-prof-annotate-wasm
--perf-prof-delete-file (Remove the perf file right after creating it (for testing only).)
type: bool default: --no-perf-prof-delete-file
--perf-prof-unwinding-info (Enable unwinding info for perf linux profiler (experimental).)
type: bool default: --no-perf-prof-unwinding-info
--gc-fake-mmap (Specify the name of the file for fake gc mmap used in ll_prof)
type: string default: --gc-fake-mmap="/tmp/__v8_gc__"
--log-internal-timer-events (Time internal events.)
type: bool default: --no-log-internal-timer-events
--redirect-code-traces (output deopt information and disassembly into file code-<pid>-<isolate id>.asm)
type: bool default: --no-redirect-code-traces
--redirect-code-traces-to (output deopt information and disassembly into the given file)
type: string default: --redirect-code-traces-to=""
--print-opt-source (print source code of optimized and inlined functions)
type: bool default: --no-print-opt-source
--vtune-prof-annotate-wasm (Used when v8_enable_vtunejit is enabled, load wasm source map and provide annotate support (experimental).)
type: bool default: --no-vtune-prof-annotate-wasm
--win64-unwinding-info (Enable unwinding info for Windows/x64)
type: bool default: --win64-unwinding-info
--interpreted-frames-native-stack (Show interpreted frames on the native stack (useful for external profilers).)
type: bool default: --no-interpreted-frames-native-stack
--enable-etw-stack-walking (Enable etw stack walking for windows)
type: bool default: --no-enable-etw-stack-walking
--trace-elements-transitions (trace elements transitions)
type: bool default: --no-trace-elements-transitions
--trace-creation-allocation-sites (trace the creation of allocation sites)
type: bool default: --no-trace-creation-allocation-sites
--print-code (print generated code)
type: bool default: --no-print-code
--print-opt-code (print optimized code)
type: bool default: --no-print-opt-code
--print-opt-code-filter (filter for printing optimized code)
type: string default: --print-opt-code-filter="*"
--print-code-verbose (print more information for code)
type: bool default: --no-print-code-verbose
--print-builtin-code (print generated code for builtins)
type: bool default: --no-print-builtin-code
--print-builtin-code-filter (filter for printing builtin code)
type: string default: --print-builtin-code-filter="*"
--print-regexp-code (print generated regexp code)
type: bool default: --no-print-regexp-code
--print-regexp-bytecode (print generated regexp bytecode)
type: bool default: --no-print-regexp-bytecode
--print-builtin-size (print code size for builtins)
type: bool default: --no-print-builtin-size
--print-all-code (enable all flags related to printing code)
type: bool default: --no-print-all-code
--predictable (enable predictable mode)
type: bool default: --no-predictable
--predictable-gc-schedule (Predictable garbage collection schedule. Fixes heap growing, idle, and memory reducing behavior.)
type: bool default: --no-predictable-gc-schedule
--single-threaded (disable the use of background tasks)
type: bool default: --no-single-threaded
--single-threaded-gc (disable the use of background gc tasks)
type: bool default: --no-single-threaded-gc
--verify-predictable (this mode is used for checking that V8 behaves predictably)
type: bool default: --no-verify-predictable
--dump-allocations-digest-at-alloc (dump allocations digest each n-th allocation)
type: int default: --dump-allocations-digest-at-alloc=-1
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Thanks, helped me a lot