--ignition-filter-expression-positions (filter expression positions before the bytecode pipeline)
type: bool default: true
--ignition-share-named-property-feedback (share feedback slots when loading the same named property from the same object)
type: bool default: true
--print-bytecode (print bytecode generated by ignition interpreter)
type: bool default: false
--enable-lazy-source-positions (skip generating source positions during initial compile but regenerate when actually required)
type: bool default: true
--stress-lazy-source-positions (collect lazy source positions immediately after lazy compile)
type: bool default: false
--print-bytecode-filter (filter for selecting which functions to print bytecode)
type: string default: *
--trace-ignition-codegen (trace the codegen of ignition interpreter bytecode handlers)
type: bool default: false
--trace-ignition-dispatches (traces the dispatches to bytecode handlers by the ignition interpreter)
type: bool default: false
--trace-ignition-dispatches-output-file (the file to which the bytecode handler dispatch table is written (by default, the table is not written to a file))
type: string default: nullptr
--fast-math (faster (but maybe less accurate) math functions)
type: bool default: true
--trace-track-allocation-sites (trace the tracking of allocation sites)
--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: nullptr
--turbo-stats (print TurboFan statistics)
type: bool default: false
--turbo-stats-nvp (print TurboFan statistics in machine-readable format)
type: bool default: false
--turbo-stats-wasm (print TurboFan statistics of wasm compilations)
type: bool default: false
--turbo-splitting (split nodes during scheduling in TurboFan)
type: bool default: true
--function-context-specialization (enable function context specialization in TurboFan)
type: bool default: false
--turbo-inlining (enable inlining in TurboFan)
type: bool default: true
--max-inlined-bytecode-size (maximum size of bytecode for a single inlining)
type: int default: 500
--max-inlined-bytecode-size-cumulative (maximum cumulative size of bytecode considered for inlining)
type: int default: 1000
--max-inlined-bytecode-size-absolute (maximum cumulative size of bytecode considered for inlining)
type: int default: 5000
--reserve-inline-budget-scale-factor (maximum cumulative size of bytecode considered for inlining)
type: float default: 1.2
--max-inlined-bytecode-size-small (maximum size of bytecode considered for small function inlining)
type: int default: 30
--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: 61440
--min-inlining-frequency (minimum frequency for inlining)
type: float default: 0.15
--polymorphic-inlining (polymorphic inlining)
type: bool default: true
--stress-inline (set high thresholds for inlining to inline as much as possible)
type: bool default: false
--trace-turbo-inlining (trace TurboFan inlining)
type: bool default: false
--turbo-inline-array-builtins (inline array builtins in TurboFan code)
type: bool default: true
--use-osr (use on-stack replacement)
type: bool default: true
--trace-osr (trace on-stack replacement)
type: bool default: false
--analyze-environment-liveness (analyze liveness of environment slots and zap dead values)
type: bool default: true
--trace-environment-liveness (trace liveness of local variable slots)
type: bool default: false
--turbo-load-elimination (enable load elimination in TurboFan)
--wasm-simd-post-mvp (allow experimental SIMD operations for prototyping that are not included in the current proposal)
type: bool default: false
--wasm-code-gc (enable garbage collection of wasm code)
type: bool default: true
--trace-wasm-code-gc (trace garbage collection of wasm code)
type: bool default: false
--stress-wasm-code-gc (stress test garbage collection of wasm code)
type: bool default: false
--wasm-max-initial-code-space-reservation (maximum size of the initial wasm code space reservation (in MB))
type: int default: 0
--frame-count (number of stack frames inspected by the profiler)
type: int default: 1
--stress-sampling-allocation-profiler (Enables sampling allocation profiler with X as a sample interval)
type: int default: 0
--lazy-new-space-shrinking (Enables the lazy new space shrinking strategy)
type: bool default: false
--min-semi-space-size (min size of a semi-space (in MBytes), the new space consists of two semi-spaces)
type: size_t default: 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: 0
--semi-space-growth-factor (factor by which to grow the new space)
type: int default: 2
--max-old-space-size (max size of the old space (in Mbytes))
type: size_t default: 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: 0
--initial-heap-size (initial size of the heap (in Mbytes))
type: size_t default: 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: true
--initial-old-space-size (initial old space size (in Mbytes))
type: size_t default: 0
--global-gc-scheduling (enable GC scheduling based on global memory)
type: bool default: true
--gc-global (always perform global GCs)
type: bool default: false
--random-gc-interval (Collect garbage after random(0, X) allocations. It overrides gc_interval.)
type: int default: 0
--gc-interval (garbage collect after <n> allocations)
type: int default: -1
--retain-maps-for-n-gc (keeps maps alive for <n> old space garbage collections)
type: int default: 2
--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
--trace-idle-notification (print one trace line following each idle notification)
type: bool default: false
--trace-idle-notification-verbose (prints the heap state used by the idle notification)
type: bool default: false
--trace-gc-verbose (print more details following each garbage collection)
type: bool default: false
--trace-gc-freelists (prints details of each freelist before and after each major garbage collection)
type: bool default: false
--trace-gc-freelists-verbose (prints details of freelists of each page before and after each major garbage collection)
type: bool default: false
--trace-evacuation-candidates (Show statistics about the pages evacuation by the compaction)
type: bool default: false
--trace-allocations-origins (Show statistics about the origins of allocations. Combine with --no-inline-new to track allocations from generated code)
type: bool default: false
--trace-allocation-stack-interval (print stack trace after <n> free-list allocations)
type: int default: -1
--trace-duplicate-threshold-kb (print duplicate objects in the heap if their size is more than given threshold)
type: int default: 0
--trace-fragmentation (report fragmentation for old space)
type: bool default: false
--trace-fragmentation-verbose (report fragmentation for old space (detailed))
type: bool default: false
--minor-mc-trace-fragmentation (trace fragmentation after marking)
--randomize-all-allocations (randomize virtual memory reservations by ignoring any hints passed when allocating pages)
type: bool default: false
--manual-evacuation-candidates-selection (Test mode only flag. It allows an unit test to select evacuation candidates pages (requires --stress_compaction).)
type: bool default: false
--fast-promotion-new-space (fast promote new space on high survival rates)
type: bool default: false
--clear-free-memory (initialize free memory with 0)
type: bool default: false
--young-generation-large-objects (allocates large objects by default in the young generation large object space)
type: bool default: true
--debug-code (generate extra code (assertions) for debugging)
type: bool default: false
--code-comments (emit comments in code disassembly; for more readable source positions you should add --no-concurrent_recompilation)
type: bool default: false
--enable-sse3 (enable use of SSE3 instructions if available)
type: bool default: true
--enable-ssse3 (enable use of SSSE3 instructions if available)
type: bool default: true
--enable-sse4-1 (enable use of SSE4.1 instructions if available)
type: bool default: true
--enable-sse4-2 (enable use of SSE4.2 instructions if available)
type: bool default: true
--enable-sahf (enable use of SAHF instruction if available (X64 only))
type: bool default: true
--enable-avx (enable use of AVX instructions if available)
type: bool default: true
--enable-fma3 (enable use of FMA3 instructions if available)
type: bool default: true
--enable-bmi1 (enable use of BMI1 instructions if available)
type: bool default: true
--enable-bmi2 (enable use of BMI2 instructions if available)
type: bool default: true
--enable-lzcnt (enable use of LZCNT instruction if available)
type: bool default: true
--enable-popcnt (enable use of POPCNT instruction if available)
type: bool default: true
--arm-arch (generate instructions for the selected ARM architecture if available: armv6, armv7, armv7+sudiv or armv8)
type: string default: armv8
--force-long-branches (force all emitted branches to be in long mode (MIPS/PPC only))
type: bool default: false
--mcpu (enable optimization for specific cpu)
type: string default: auto
--partial-constant-pool (enable use of partial constant pools (X64 only))
type: bool default: true
--sim-arm64-optional-features (enable optional features on the simulator for testing: none or all)
type: string default: none
--enable-source-at-csa-bind (Include source information in the binary at CSA bind locations.)
--allow-natives-for-differential-fuzzing (allow only natives explicitly allowlisted for differential fuzzers)
type: bool default: false
--parse-only (only parse the sources)
type: bool default: false
--trace-sim (Trace simulator execution)
type: bool default: false
--debug-sim (Enable debugging the simulator)
type: bool default: false
--check-icache (Check icache flushes in ARM and MIPS simulator)
type: bool default: false
--stop-sim-at (Simulator stop after x number of instructions)
type: int default: 0
--sim-stack-alignment (Stack alingment in bytes in simulator (4 or 8, 8 is default))
type: int default: 8
--sim-stack-size (Stack size of the ARM64, MIPS64 and PPC64 simulator in kBytes (default is 2 MB))
type: int default: 2048
--log-colour (When logging, try to use coloured output.)
type: bool default: true
--trace-sim-messages (Trace simulator debug messages. Implied by --trace-sim.)
type: bool default: false
--async-stack-traces (include async stack traces in Error.stack)
type: bool default: true
--stack-trace-on-illegal (print stack trace when an illegal exception is thrown)
type: bool default: false
--abort-on-uncaught-exception (abort program (dump core) when an uncaught exception is thrown)
type: bool default: false
--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: false
--randomize-hashes (randomize hashes to avoid predictable hash collisions (with snapshots this option cannot override the baked-in seed))
type: bool default: true
--rehash-snapshot (rehash strings from the snapshot to override the baked-in seed)
type: bool default: true
--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: 0
--random-seed (Default seed for initializing random generator (0, the default, means to use system random).)
type: int default: 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: 0
--trace-rail (trace RAIL mode)
type: bool default: false
--print-all-exceptions (print exception object and stack trace on each thrown exception)
type: bool default: false
--detailed-error-stack-trace (includes arguments for each function call in the error stack frames array)
type: bool default: false
--adjust-os-scheduling-parameters (adjust OS specific scheduling params for the isolate)
type: bool default: true
--runtime-call-stats (report runtime call counts and times)
type: bool default: false
--rcs (report runtime call counts and times)
type: bool default: false
--rcs-cpu-time (report runtime times in cpu time (the default is wall time))
type: bool default: false
--profile-deserialization (Print the time it takes to deserialize the snapshot.)
type: bool default: false
--serialization-statistics (Collect statistics on serialized objects.)
type: bool default: false
--serialization-chunk-size (Custom size for serialization chunks)
--testing-prng-seed (Seed used for threading test randomness)
type: int default: 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: false
--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: false
--embedded-src (Path for the generated embedded data file. (mksnapshot only))
type: string default: nullptr
--embedded-variant (Label to disambiguate symbols in embedded data file. (mksnapshot only))
type: string default: nullptr
--startup-src (Write V8 startup as C++ src. (mksnapshot only))
--target-arch (The mksnapshot target arch. (mksnapshot only))
type: string default: nullptr
--target-os (The mksnapshot target os. (mksnapshot only))
type: string default: nullptr
--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: false
--minor-mc-parallel-marking (use parallel marking for the young generation)
type: bool default: true
--trace-minor-mc-parallel-marking (trace parallel marking for the young generation)
type: bool default: false
--minor-mc (perform young generation mark compact GCs)
type: bool default: false
--help (Print usage message, including flags, on console)
type: bool default: true
--dump-counters (Dump counters on exit)
type: bool default: false
--dump-counters-nvp (Dump counters as name-value pairs on exit)
type: bool default: false
--use-external-strings (Use external strings for source code)
type: bool default: false
--map-counters (Map counters to a file)
type: string default:
--mock-arraybuffer-allocator (Use a mock ArrayBuffer allocator for testing.)
type: bool default: false
--mock-arraybuffer-allocator-limit (Memory limit for mock ArrayBuffer allocator used to simulate OOM for testing.)
type: size_t default: 0
--gdbjit (enable GDBJIT interface)
type: bool default: false
--gdbjit-full (enable GDBJIT interface for all code objects)
type: bool default: false
--gdbjit-dump (dump elf objects with debug info to disk)
type: bool default: false
--gdbjit-dump-filter (dump only objects containing this substring)
type: string default:
--log (Minimal logging (no API, code, GC, suspect, or handles samples).)
type: bool default: false
--log-all (Log all events to the log file.)
type: bool default: false
--log-api (Log API events to the log file.)
type: bool default: false
--log-code (Log code events to the log file without profiling.)
type: bool default: false
--log-handles (Log global handle events.)
type: bool default: false
--log-suspect (Log suspect operations.)
type: bool default: false
--log-source-code (Log source code.)
type: bool default: false
--log-function-events (Log function events (parse, compile, execute) separately.)
type: bool default: false
--prof (Log statistical profiling information (implies --log-code).)
type: bool default: false
--detailed-line-info (Always generate detailed line information for CPU profiling.)
type: bool default: false
--prof-sampling-interval (Interval for --prof samples (in microseconds).)
type: int default: 1000
--prof-cpp (Like --prof, but ignore generated code.)
type: bool default: false
--prof-browser-mode (Used with --prof, turns on browser-compatible mode for profiling.)
type: bool default: true
--logfile (Specify the name of the log file.)
type: string default: v8.log
--logfile-per-isolate (Separate log files for each isolate.)
type: bool default: true
--ll-prof (Enable low-level linux profiler.)
type: bool default: false
--gc-fake-mmap (Specify the name of the file for fake gc mmap used in ll_prof)