Node.js Runtime v8选项列表

629 阅读26分钟

Node.js可以用一系列令人难以置信的选项进行调用。

这些选项中的大部分是用来配置v8引擎行为的。

这里的一些选项默认是禁用的,正如你在Default 栏中看到的那样。你可以通过运行node 并传递标志来启用它们,例如node --experimental-extras

如果一个选项是默认启用的,你可以通过在标志名称前加上--no- 来禁用它,例如:node --no-harmony-shipping

有些选项可以用来优化性能,比如--optimize-for-size,--max_old_space_size--gc_interval ,像Heroku建议的那样。

还有一些是用来启用或禁用特定功能的。我经常用它们来尝试在测试版中实现的新提议的JavaScript功能。比如--harmony-public-fields

注意:选项名称允许用破折号(-)或下划线(_),或两者混合来分隔单词。在教程中,你会发现两者的混合,这可能会引起混淆。这没有什么区别。

我通过运行命令node --v8-options ,得到了下面的列表,它是相对于Node.js11.9.0 ,在写作时是最新的Node.js版本。

选项描述类型默认值
--experimental-extras启用通过v8_experimental_extra_library_files编译的代码bool错误
--use-strict强制执行严格模式boolfalse
--es-staging启用适合测试的和谐功能仅供内部使用bool
--harmony启用所有已完成的和谐功能boolfalse
--harmony-shipping启用所有已发货的和谐功能booltrue
--harmony-do-expressions启用 "harmony do-expressions"。进行中bool
--harmony-class-fields启用 "类字词中的和谐字段"正在进行中bool
--harmony-static-fields启用 "类字元中的和谐静态字段"正在进行中bool
--harmony-await-optimization启用 "和谐等待1次 "的功能正在进行中bool
--harmony-locale启用 "International.Locale"。正在进行中bool
--harmony-intl-list-format启用 "Intl.ListFormat"。进行中bool
--harmony-intl-relative-time-format启用 "Intl.RelativeTimeFormat"(相对时间格式)。进行中bool
--harmony-public-fields启用 "类字段中的和谐公共字段"bool错误
--harmony-private-fields启用 "类字词中的和谐私有字段"bool错误
--harmony-numeric-separator启用 "数字之间的和谐数字分隔符"bool错误
--harmony-string-matchall启用 "harmony String.prototype.matchAll"。boolfalse
--harmony-global启用 "和谐全局"。boolfalse
--harmony-string-trimming启用 "harmony String.prototype.trim{Start,End}"。booltrue
--harmony-sharedarraybuffer启用 "harmony sharedarraybuffer"booltrue
--harmony-function-tostring启用 "harmony Function.prototype.toString"booltrue
--harmony-import-meta启用 "harmony import.meta属性"booltrue
--harmony-bigint启用 "和谐任意精度的整数"booltrue
--harmony-dynamic-import启用 "和谐动态导入 "功能booltrue
--harmony-array-prototype-values启用 "harmony Array.prototype.values"。booltrue
--harmony-array-flat启用 "harmony Array.prototype.{flat,flatMap}"。booltrue
--harmony-symbol-description启用 "harmony Symbol.prototype.description"。booltrue
--icu-timezone-data从ICU获取时区信息booltrue
--future暗示所有我们想在不远的将来发货的阶段性功能boolfalse
--allocation-site-pretenuring与分配站点一起进行预维护booltrue
--page-promotion根据利用率来推广页面booltrue
--page-promotion-threshold启用快速疏散的页面上的最小有效字节数百分比int70
--trace-pretenuring追踪HAllocate指令的预维护决定boolfalse
--trace-pretenuring-statistics追踪分配站点的预维护统计bool错误
--track-fields追踪只有smi值的字段booltrue
--track-double-fields追踪有双倍值的字段booltrue
--track-heap-object-fields追踪有堆值的字段booltrue
--track-computed-fields追踪计算过的模板字段booltrue
--track-field-types追踪字段类型booltrue
--trace-block-coverage追踪收集的区块覆盖信息boolfalse
--feedback-normalization向构造函数反馈规范化信息bool错误
--optimize-for-size启用有利于内存大小而非执行速度的优化方法boolfalse
--enable-one-shot-optimization启用只执行一次的代码的大小优化booltrue
--unbox-double-arrays自动取消双数数组的装箱booltrue
--interrupt-budget中断预算应被用于分析器计数器int147456
--ignition-elide-noneffectful-bytecodes删去不会有任何外部影响的字节码booltrue
--ignition-reo使用点火寄存器等价优化器booltrue
--ignition-filter-expression-positions在字节码流水线前过滤表达式位置booltrue
--ignition-share-named-property-feedback当从同一对象加载相同的命名属性时,共享反馈槽booltrue
--print-bytecode打印由点火器解释器生成的字节码boolfalse
--print-bytecode-filter用于选择打印字节码的函数的过滤器符号*
--trace-ignition-codegen追踪解释器字节码处理程序的代码基因boolfalse
--trace-ignition-dispatches追踪点火解释器对字节码处理程序的分派。boolfalse
--trace-ignition-dispatches-output-file写入字节码处理程序调度表的文件默认情况下,该表不会被写入一个文件中字符串
--fast-math更快但可能不太准确的数学函数bool
--trace-track-allocation-sites追踪分配点的跟踪boolfalse
--trace-migration追踪对象迁移boolfalse
--trace-generalization追踪地图泛化boolfalse
--concurrent-recompilation在一个单独的线程上异步优化热函数booltrue
--trace-concurrent-recompilation追踪并发的重新编译boolfalse
--concurrent-recompilation-queue-length并发编译队列的长度int8
--concurrent-recompilation-delay人工编译延迟,单位是msint0
--block-concurrent-recompilation阻止排队的工作,直到被释放bool错误
--concurrent-compiler-frontend在一个单独的线程上运行优化编译器的前端阶段bool错误
--strict-heap-broker在不完整的序列化中失败bool错误
--trace-heap-broker追踪堆栈经纪人boolfalse
--stress-runs压力运行的数量int0
--deopt-every-n-times每通过n次脱欧点就进行一次脱欧优化int0
--print-deopt-stress打印可能的脱靶点的数量boolfalse
--turbo-sp-frame-access尽可能使用堆栈指针相对于框架的访问方式boolfalse
--turbo-preprocess-ranges运行预注册分配启发式方法booltrue
--turbo-filterTurboFan编译器的优化过滤器*
--trace-turbo跟踪生成的TurboFan IRboolfalse
--trace-turbo-path将生成的TurboFan IR转储到的目录字符串nullptr
--trace-turbo-filter用于跟踪涡轮风扇编译的过滤器*
--trace-turbo-graph追踪生成的涡轮风扇图boolfalse
--trace-turbo-scheduled追踪TurboFan IR与时间表boolfalse
--trace-turbo-cfg-file追踪Turbo cfg图用于给定文件名的C1显示器字符串
--trace-turbo-types追踪TurboFan的类型booltrue
--trace-turbo-scheduler追踪TurboFan的调度器boolfalse
--trace-turbo-reduction跟踪TurboFan的各种减速器boolfalse
--trace-turbo-trimming跟踪TurboFan的图形修剪器boolfalse
--trace-turbo-jt跟踪TurboFan的跳转线程boolfalse
--trace-turbo-ceq追踪TurboFan的控制等价性bool错误
--trace-turbo-loop跟踪TurboFan的循环优化bool错误
--trace-alloc跟踪寄存器分配器boolfalse
--trace-all-uses追踪所有使用位置boolfalse
--trace-representation追踪表示类型boolfalse
--turbo-verify在每个阶段验证TurboFan图形boolfalse
--turbo-verify-machine-graph在指令选择前验证TurboFan机器图字符串nullptr
--trace-verify-csa跟踪代码存根验证boolfalse
--csa-trap-on-node当在给定的存根中创建一个具有给定id的节点时,触发断点。其格式是。存根名称,节点名称(NodeId字符串nullptr
--turbo-stats打印TurboFan的统计数据boolfalse
--turbo-stats-nvp以机器可读的格式打印TurboFan的统计数据boolfalse
--turbo-stats-wasm打印TurboFan的wasm编译的统计数据bool错误
--turbo-splitting在TurboFan的调度中分割节点booltrue
--function-context-specialization在TurboFan中启用函数上下文特殊化boolfalse
--turbo-inlining启用TurboFan中的内联功能booltrue
--max-inlined-bytecode-size单次内联的最大字节码大小int500
--max-inlined-bytecode-size-cumulative考虑用于内联的字节码的最大累积大小int1000
--max-inlined-bytecode-size-absolute考虑到内联的字节码的最大累积大小int5000
--reserve-inline-budget-scale-factor考虑到内联的字节码的最大累积大小小数1.2
--max-inlined-bytecode-size-small考虑用于小函数内联的最大字节码大小int30
--min-inlining-frequency内联的最小频率浮动0.15
--polymorphic-inlining多态内联booltrue
--stress-inline为内联设置高阈值,以尽可能地内联boolfalse
--trace-turbo-inlining追踪TurboFan的内联boolfalse
--inline-accessors内联JavaScript访问器booltrue
--inline-into-try内联到尝试块中booltrue
--turbo-inline-array-builtins在TurboFan代码中内联数组内置程序booltrue
--use-osr使用堆栈上的替换booltrue
--trace-osr追踪堆栈上的替换boolfalse
--analyze-environment-liveness分析环境槽的有效性并消除死值booltrue
--trace-environment-liveness追踪局部变量槽的有效性boolfalse
--turbo-load-elimination在TurboFan中启用负载消除功能booltrue
--trace-turbo-load-elimination跟踪TurboFan的负载消除boolfalse
--turbo-profiling在TurboFan中启用剖析功能bool错误
--turbo-verify-allocation验证TurboFan中的寄存器分配boolfalse
--turbo-move-optimization在TurboFan中优化间隙移动booltrue
--turbo-jt启用TurboFan中的跳转线程booltrue
--turbo-loop-peeling涡轮风扇循环剥落booltrue
--turbo-loop-variable涡轮风扇循环变量优化booltrue
--turbo-cf-optimization优化TurboFan的控制流booltrue
--turbo-escape启用转义分析booltrue
--turbo-allocation-folding涡轮风扇分配折叠booltrue
--turbo-instruction-scheduling启用TurboFan中的指令调度boolfalse
--turbo-stress-instruction-scheduling随机安排指令以强调依赖性跟踪bool错误
--turbo-store-elimination在TurboFan中启用存贮消除功能booltrue
--trace-store-elimination追踪存储消除boolfalse
--turbo-rewrite-far-jumps重写远端到近端跳转ia32,x64bool
--experimental-inline-promise-constructor内联TurboFan中的Promise构造函数bool
--untrusted-code-mitigations启用执行不受信任代码的缓解措施boolfalse
--branch-load-poisoning屏蔽带有分支条件的负载。boolfalse
--minimal简化执行模型,使移植更容易例如,总是使用Ignition,从不优化bool
--expose-wasm将wasm接口暴露给JavaScriptbooltrue
--assume-asmjs-origin强制wasm解码器假定输入是内部asm格式。boolfalse
--wasm-disable-structured-cloning禁用wasm结构化克隆boolfalse
--wasm-num-compilation-taskswasm并行编译任务的数量int10
--wasm-write-protect-code-memory在wasm本地堆上写保护代码内存boolfalse
--wasm-trace-serialization跟踪序列化/反序列化bool错误
--wasm-async-compilation启用WebAssembly.compile的实际异步编译。booltrue
--wasm-test-streaming在测试中使用流式编译而不是异步编译boolfalse
--wasm-max-mem-pages一个wasm实例的最大64KiB内存页数uint32767
--wasm-max-table-size一个wasm实例的最大表大小uint10000000
--wasm-tier-up启用wasm基线编译,并将层级提升到优化编译器。booltrue
--trace-wasm-ast-startWasm AST跟踪的启动函数包容性int
--trace-wasm-ast-endWasm AST跟踪的结束函数独占int
--liftoff启用Liftoff,这是WebAssembly的基准编译器。booltrue
--wasm-trace-memory打印所有在wasm代码中执行的内存更新boolfalse
--wasm-tier-mask-for-testing用TurboFan而不是Liftoff编译的函数的位掩码int0
--validate-asm编译前验证asm.js模块booltrue
--suppress-asm-messages不发出asm.js相关的信息用于黄金文件测试bool
--trace-asm-time将asm.js的时间信息记录到控制台。bool错误
--trace-asm-scanner记录asm.js扫描器遇到的令牌bool错误
--trace-asm-parser对asm.js的解析失败进行详细的记录bool错误
--stress-validate-asm试着把所有东西都作为asm.js来验证boolfalse
--dump-wasm-module-path转载wasm模块的目录字符串nullptr
--experimental-wasm-mv启用wasm的原型多值支持boolfalse
--experimental-wasm-eh启用wasm的原型异常处理操作码bool错误
--experimental-wasm-se启用wasm的原型符号扩展操作码booltrue
--experimental-wasm-sat-f2i-conversions启用wasm的原型饱和浮点数转换操作码boolfalse
--experimental-wasm-threads启用wasm的原型线程操作码bool错误
--experimental-wasm-simd启用wasm的原型SIMD操作码bool错误
--experimental-wasm-anyref启用wasm的原型 anyref操作码bool错误
--experimental-wasm-mut-global启用wasm的原型导入/导出可变全局支持booltrue
--wasm-opt启用wasm优化boolfalse
--wasm-no-bounds-checks禁用边界检查仅用于性能测试bool
--wasm-no-stack-checks禁用堆栈检查仅限性能测试bool
--wasm-shared-engine在一个进程中的所有隔离区之间共享一个wasm引擎booltrue
--wasm-shared-code当一个wasm模块被转移时,共享该模块的基础代码booltrue
--wasm-trap-handler使用信号处理程序来捕捉wasm中的越界内存访问目前只有Linux x86_64bool
--wasm-trap-handler-fallback如果受保护的内存不可用,则使用边界检查bool错误
--wasm-fuzzer-gen-test当运行wasm fuzzer时,生成一个测试案例bool错误
--print-wasm-code打印WebAssembly代码bool错误
--wasm-interpret-all在wasm解释器中执行所有wasm代码bool错误
--asm-wasm-lazy-compilation启用asm-wasm模块的懒散编译booltrue
--wasm-lazy-compilation启用所有wasm模块的懒惰编译boolfalse
--frame-count剖析器所检查的堆栈帧的数量int1
--type-info-threshold必须有类型信息以允许优化的IC的百分比int25
--stress-sampling-allocation-profiler启用以X为样本间隔的抽样分配分析器int0
--min-semi-space-size一个半空间的最小尺寸单位:MBytes),新空间由两个半空间组成size_t
--max-semi-space-size半空间的最大尺寸单位:MBytes),新空间由两个半空间组成size_t
--semi-space-growth-factor增长新空间的系数int2
--experimental-new-space-growth-heuristic根据生存者的百分比而不是其绝对值来增长新空间。boolfalse
--max-old-space-size旧空间的最大尺寸单位:Mbytessize_t
--initial-old-space-size初始旧空间的大小以Mbytes为单位size_t
--gc-global始终执行全局GCsbool错误
--random-gc-interval在随机(0, X)分配后收集垃圾。它覆盖了gc_interval。术语0
--gc-interval分配后的垃圾收集int-1
--retain-maps-for-n-gc为 旧空间的垃圾收集保留地图int2
--trace-gc在每次垃圾回收后打印一条追踪线boolfalse
--trace-gc-nvp在每次垃圾收集后打印一个详细的name=value格式的跟踪行boolfalse
--trace-gc-ignore-scavenger在清道夫收集后不打印跟踪线boolfalse
--trace-idle-notification在每个空闲通知后打印一条追踪线boolfalse
--trace-idle-notification-verbose打印空闲通知所使用的堆状态boolfalse
--trace-gc-verbose打印每次垃圾收集后的更多细节boolfalse
--trace-allocation-stack-interval在 自由列表分配后打印堆栈跟踪int-1
--trace-duplicate-threshold-kb打印堆中的重复对象,如果它们的大小超过了给定的阈值int0
--trace-fragmentation报告旧空间的碎裂情况boolfalse
--trace-fragmentation-verbose报告旧空间的碎裂情况详细bool
--trace-evacuation报告疏散的统计数据bool错误
--trace-mutator-utilization打印突变器的利用率、分配速度、gc速度boolfalse
--incremental-marking使用增量标记booltrue
--incremental-marking-wrappers使用增量标记来标记封装器booltrue
--trace-unmapper追踪解除映射的过程boolfalse
--parallel-scavenge并行清扫booltrue
--trace-parallel-scavenge追踪平行扫除boolfalse
--write-protect-code-memory写保护代码内存booltrue
--concurrent-marking使用并发标记booltrue
--parallel-marking在原子暂停中使用并行标记booltrue
--ephemeron-fixpoint-iterations切换到线性ephemeron算法所需的fixpoint迭代次数int10
--trace-concurrent-marking追踪并发标记boolfalse
--black-allocation使用黑色分配booltrue
--concurrent-store-buffer使用并发的存储缓冲区处理booltrue
--concurrent-sweeping使用并发清扫booltrue
--parallel-compaction使用并行压实booltrue
--parallel-pointer-update在压实过程中使用并行指针更新booltrue
--detect-ineffective-gcs-near-heap-limit触发内存外故障,以避免GC风暴接近堆极限booltrue
--trace-incremental-marking追踪增量标记的进度boolfalse
--trace-stress-marking追踪压力打标进度boolfalse
--trace-stress-scavenge追踪压力清除的进度boolfalse
--track-gc-object-stats追踪对象数量和内存使用情况boolfalse
--trace-gc-object-stats追踪对象的数量和内存使用情况boolfalse
--trace-zone-stats追踪区域内存使用情况boolfalse
--track-retaining-path启用对保留路径的跟踪支持boolfalse
--concurrent-array-buffer-freeing在后台线程上释放数组缓冲区的分配booltrue
--gc-stats被内部追踪使用,以启用GC的统计数据int0
--track-detached-contexts追踪预计将被垃圾回收的本地上下文booltrue
--trace-detached-contexts追踪预计会被垃圾回收的本地上下文boolfalse
--move-object-start启用对象启动的移动booltrue
--memory-reducer使用内存减速器booltrue
--heap-growing-percent指定堆增长因子为1 + heap_growing_percent/100int
--v8-os-page-size覆盖操作系统的页面大小KBytesint
--always-compact在每次完整的GC上执行压缩bool错误
--never-compact不在完整的GC上执行压实--仅测试bool错误
--compact-code-space在完全集合时压缩代码空间booltrue
--use-marking-progress-bar当增量标记激活时,使用进度条以增量方式扫描大型对象。booltrue
--force-marking-deque-overflows通过减少标记德克的大小到64个字来强制溢出。boolfalse
--stress-compaction强调GC压缩器以清除错误implies -force_marking_deque_overflowsbool
--stress-compaction-random通过随机选择百分比的页面作为疏散的候选者来强调GC压缩。它覆盖了stress_compaction。bool错误
--stress-incremental-marking强制对小堆进行增量标记并更频繁地运行它boolfalse
--fuzzer-gc-analysis打印分配的数量,并启用gc模糊测试的分析模式,例如-stress-marking, -stress-scavengebool错误
--stress-marking强制在0到X之间的随机点进行标记之间的随机点进行打标,包括常规打标起点的百分比int
--stress-scavenge强制在0到X之间的随机点上清扫之间的随机点进行清除,占新空间容量的百分比int
--disable-abortjs禁用AbortJS运行时功能bool错误
--manual-evacuation-candidates-selection只有测试模式的标志。它允许一个单元测试选择疏散的候选页面需要 -stress_compaction)。bool
--fast-promotion-new-space在高存活率下快速推广新空间boolfalse
--clear-free-memory将空闲内存初始化为0bool错误
--young-generation-large-objects默认在年轻一代的大对象空间中分配大对象boolfalse
--debug-code产生额外的代码用于调试的断言bool
--code-comments在代码反汇编中发出注释;为了获得更可读的源代码位置,你应该添加-no-concurrent_recompilationbool错误
--enable-sse3启用SSE3指令(如果有的话booltrue
--enable-ssse3启用SSSE3指令(如果有)。booltrue
--enable-sse4-1启用SSE4.1指令(如果有)。booltrue
--enable-sahf启用SAHF指令(如果有的话仅限X64bool
--enable-avx启用AVX指令(如果有)。booltrue
--enable-fma3启用FMA3指令(如果有的话booltrue
--enable-bmi1如果有的话,启用BMI1指令的使用booltrue
--enable-bmi2启用BMI2指令(如果有)。booltrue
--enable-lzcnt启用LZCNT指令(如果有)。booltrue
--enable-popcnt启用POPCNT指令(如果有的话booltrue
--arm-arch如果有的话,为选定的ARM架构生成指令:armv6, armv7, armv7+sudiv或armv8字符串armv8
--force-long-branches强制所有发出的分支为长模式仅限MIPS/PPCbool
--mcpu启用对特定cpu的优化字符串自动
--partial-constant-pool启用部分常量池的使用仅限X64bool
--enable-armv7已废弃使用-arm_arch代替maybe_bool
--enable-vfp3已弃用使用-arm_arch代替也许_bool
--enable-32dregs已废弃使用-arm_arch代替也许_bool
--enable-neon已废弃使用-arm_arch代替也许_bool
--enable-sudiv已废弃使用-arm_arch代替也许_bool
--enable-armv8已废弃使用-arm_arch代替也许_bool
--enable-regexp-unaligned-accesses为regexp引擎启用非对齐访问功能booltrue
--script-streaming启用后台解析功能booltrue
--disable-old-api-accessors禁用旧式的API访问器,其设置器通过原型链触发boolfalse
--expose-natives-as在全局对象中公开本机字符串nullptr
--expose-free-buffer暴露freeBuffer扩展boolfalse
--expose-gc暴露gc扩展boolfalse
--expose-gc-as暴露指定名称下的gc扩展字符串nullptr
--expose-externalize-string暴露外部化字符串扩展boolfalse
--expose-trigger-failure暴露触发-失败的扩展boolfalse
--stack-trace-limit捕获的堆栈帧的数量int10
--builtins-in-stack-traces在堆栈跟踪中显示内置函数boolfalse
--enable-experimental-builtins启用基于csa的新实验性内置函数boolfalse
--disallow-code-generation-from-strings不允许评价和朋友boolfalse
--expose-async-hooks暴露async_hooks对象bool错误
--allow-unsafe-function-constructor允许在没有安全检查的情况下调用函数构造器bool错误
--force-slow-path始终采取慢速路径的内置程序bool错误
--inline-new使用快速内联分配booltrue
--trace跟踪函数调用boolfalse
--lazy使用懒人编译booltrue
--trace-opt跟踪懒惰优化boolfalse
--trace-opt-verbose额外的冗长的编译跟踪boolfalse
--trace-opt-stats追踪懒惰的优化统计boolfalse
--trace-deopt追踪优化函数的去优化情况boolfalse
--trace-file-names在trace-opt/trace-deopt输出中包含文件名boolfalse
--trace-interrupts在处理中断时跟踪它们boolfalse
--opt使用自适应优化booltrue
--always-opt始终尝试优化函数boolfalse
--always-osr总是尝试OSR函数boolfalse
--prepare-always-opt准备打开总是选择boolfalse
--trace-serializer打印代码序列化器跟踪boolfalse
--compilation-cache启用编译缓存booltrue
--cache-prototype-transitions缓存原型转换booltrue
--compiler-dispatcher启用编译器分配器boolfalse
--trace-compiler-dispatcher追踪编译器调度器的活动boolfalse
--trace-compiler-dispatcher-jobs追踪由编译器调度器管理的单个作业的进度boolfalse
--cpu-profiler-sampling-intervalCPU分析器的采样间隔,以微秒为单位int1000
--trace-js-array-abuse追踪对JS数组的越界访问boolfalse
--trace-external-array-abuse追踪对外部数组的越界访问boolfalse
--trace-array-abuse追踪对所有数组的越界访问boolfalse
--trace-side-effect-free-debug-evaluate打印无副作用的调试信息,用于测试的调试-评估boolfalse
--hard-abort通过崩溃中止booltrue
--expose-inspector-scripts暴露 injected-script-source.js 以供调试。boolfalse
--stack-size允许v8使用的堆栈区域的默认大小单位:kBytesint
--max-stack-trace-source-length在堆栈跟踪中打印的函数源代码的最大长度。int300
--clear-exceptions-on-js-entry在进入JavaScript时清除悬而未决的异常boolfalse
--histogram-interval聚合内存柱状图的时间间隔,单位是msint600000
--heap-profiler-trace-objects倾倒堆对象的分配/移动/大小更新bool错误
--heap-profiler-use-embedder-graph使用新的EmbedderGraph API来获取嵌入器节点booltrue
--heap-snapshot-string-limit在堆快照中把字符串截断到这个长度int1024
--sampling-heap-profiler-suppress-randomness使用恒定的采样间隔,以消除测试的松散性bool错误
--use-idle-notification使用空闲通知以减少内存占用。booltrue
--use-ic使用内联缓存booltrue
--trace-ic跟踪工具/ic-processor的内联缓存状态转换boolfalse
--ic-stats内联缓存状态转换统计int0
--native-code-counters生成额外的代码来操作统计数字计数器boolfalse
--thin-strings启用ThinString支持booltrue
--trace-prototype-users追踪更新到原型用户跟踪boolfalse
--use-verbose-printer允许进行粗略的打印booltrue
--trace-for-in-enumerate追踪for-in枚举慢速路径boolfalse
--trace-maps跟踪地图创建boolfalse
--trace-maps-details同时记录地图细节booltrue
--allow-natives-syntax允许本地人的语法boolfalse
--lazy-inner-functions启用懒人解析内部函数booltrue
--aggressive-lazy-inner-functions更加懒惰的内部函数解析booltrue
--preparser-scope-analysis对预解析的内部函数进行范围分析booltrue
--trace-sim追踪模拟器的执行情况boolfalse
--debug-sim启用仿真器的调试功能bool错误
--check-icache在ARM和MIPS模拟器中检查缓存的刷新情况bool错误
--stop-sim-at模拟器在执行完x条指令后停止int0
--sim-stack-alignment模拟器中堆栈排列的字节数4或8,默认为8int
--sim-stack-sizeARM64、MIPS64和PPC64模拟器的堆栈大小,单位:kBytes默认为2MBint
--log-colour记录时,尽量使用彩色输出。booltrue
--ignore-asm-unimplemented-break对于ASM_UNIMPLEMENTED_BREAK宏,不要中断。boolfalse
--trace-sim-messages追踪仿真器的调试信息。由 -trace-sim 暗示。boolfalse
--stack-trace-on-illegal当一个非法异常被抛出时,打印堆栈跟踪。boolfalse
--abort-on-uncaught-exception中止程序当一个未捕获的异常被抛出时,转储内核bool
--abort-on-stack-or-string-length-overflow当堆栈溢出或字符串超过最大长度时中止程序。而不是抛出RangeError)。这对于Fuzzing where the spec behaviour would introduce nondeterminism.bool
--randomize-hashes随机化哈希值以避免可预测的哈希值碰撞在快照中,该选项不能覆盖内置的种子。bool
--rehash-snapshot从快照中重新散列字符串,以覆盖烘烤的种子bool
--hash-seed用来散列属性键的固定种子0表示随机)(对于快照,这个选项不能覆盖烘烤的种子uint64
--random-seed用于初始化随机发生器的默认种子0,默认,意味着使用系统随机)。int
--fuzzer-random-seed用于初始化模糊器随机生成器的默认种子0,默认的,意味着使用v8的随机数发生器种子)。int
--trace-rail跟踪RAIL模式boolfalse
--print-all-exceptions在每个被抛出的异常中打印异常对象和堆栈跟踪boolfalse
--runtime-call-stats报告运行时调用次数和时间bool错误
--runtime-stats内部使用,仅用于控制运行时统计数据int0
--print-embedded-builtin-candidates打印尚未嵌入但可能嵌入的内置程序。boolfalse
--lazy-deserialization从快照中懒散地反序列化代码。booltrue
--lazy-handler-deserialization从快照中懒散地反序列化字节码处理程序。booltrue
--trace-lazy-deserialization追踪懒惰的反序列化。boolfalse
--profile-deserialization打印反序列化快照的时间。boolfalse
--serialization-statistics收集序列化对象的统计数据。boolfalse
--serialization-chunk-size序列化块的自定义大小uint4096
--regexp-optimization生成优化的重组代码booltrue
--regexp-mode-modifiers启用重组码中的内联标志。boolfalse
--testing-bool-flag检验_bool_flagbooltrue
--testing-maybe-bool-flag测试_maybe_bool_flagmaybe_bool未设置
--testing-int-flag测试_int_flagint13
--testing-float-flagfloat-flag浮动2.5
--testing-string-flagstring-flag字符串你好,世界!
--testing-prng-seed用于线程测试随机性的种子int42
--embedded-src生成的嵌入式数据文件的路径。仅限mksnapshot字符串
--embedded-variant用于区分嵌入数据文件中的符号的标签。仅限mksnapshot字符串
--startup-src将V8启动时写成C++ src。仅限mksnapshot字符串
--startup-blob编写V8启动时的blob文件。仅限mksnapshot字符串
--help在控制台中打印使用信息,包括标志。booltrue
--dump-counters退出时倾倒计数器boolfalse
--dump-counters-nvp在退出时将计数器以名-值对的形式倾倒出来bool错误
--use-external-strings在源代码中使用外部字符串bool错误
--map-counters将计数器映射到一个文件字符串
--js-arguments将所有剩余的参数传递给脚本。"-"的别名。参数
--mock-arraybuffer-allocator使用一个模拟的ArrayBuffer分配器进行测试。boolfalse
--log最小的日志记录没有API、代码、GC、嫌疑人或手柄样本)。bool
--log-all记录所有事件到日志文件。bool错误
--log-api记录API事件到日志文件。bool错误
--log-code将代码事件记录到日志文件中,而不进行分析。bool错误
--log-handles记录全局处理事件。bool错误
--log-suspect记录可疑操作。bool错误
--log-source-code记录源代码。bool错误
--log-function-events记录函数事件分别解析、编译、执行。bool
--prof记录统计分析信息意味着-log-code)。bool
--detailed-line-info始终为CPU剖析生成详细的行信息。bool错误
--prof-sampling-interval剖析样本的间隔以微秒为单位)。int
--prof-cpp与-prof类似,但忽略生成的代码。bool错误
--prof-browser-mode与-prof一起使用,打开与浏览器兼容的剖析模式。booltrue
--logfile指定日志文件的名称。字符串v8.log
--logfile-per-isolate为每个隔离区单独设置日志文件。booltrue
--ll-prof启用低级别的linux剖析器。boolfalse
--interpreted-frames-native-stack在本地堆栈上显示解释的帧对外部分析器有用)。bool
--perf-basic-prof启用perf linux分析器基本支持)。bool
--perf-basic-prof-only-functions只向perf报告函数代码范围即没有存根)。bool
--perf-prof启用perf linux分析器实验性注释支持)。bool
--perf-prof-unwinding-info启用perf linux profiler的解卷信息实验性)。bool
--gc-fake-mmap指定ll_prof中使用的假gc mmap的文件名。字符串/tmp/v8_gc
--log-internal-timer-events内部事件的时间。boolfalse
--log-timer-events为包括外部回调的事件计时。bool错误
--log-instruction-stats记录AArch64指令统计。boolfalse
--log-instruction-fileAArch64指令统计日志文件。字符串arm64_inst.csv
--log-instruction-periodAArch64指令统计记录期。int4194304
--redirect-code-traces输出deopt信息和反汇编到文件code--.asm中。boolfalse
--redirect-code-traces-to将脱机信息和反汇编信息输出到给定的文件中。符号nullptr
--print-opt-source打印优化和内联函数的源代码boolfalse
--trace-elements-transitions跟踪元素的转换boolfalse
--trace-creation-allocation-sites追踪分配站点的创建boolfalse
--print-code-stubs打印代码存根boolfalse
--test-secondary-stub-cache通过禁用主存根缓存来测试副存根缓存boolfalse
--test-primary-stub-cache测试主存根缓存,禁用次存根缓存bool错误
--test-small-max-function-context-stub-size启用测试函数上下文大小的溢出路径,使最大尺寸变小boolfalse
--print-code打印生成的代码boolfalse
--print-opt-code打印优化的代码boolfalse
--print-opt-code-filter打印优化代码的过滤器符号*
--print-code-verbose打印代码的更多信息boolfalse
--print-builtin-code打印生成的内建程序代码boolfalse
--print-builtin-code-filter打印内置代码的过滤器符号*
--print-builtin-size打印内置代码的大小boolfalse
--sodium打印生成的代码输出,适合与钠代码查看器一起使用boolfalse
--print-all-code启用所有与打印代码有关的标志boolfalse
--predictable启用可预测模式boolfalse
--single-threaded禁用后台任务的使用boolfalse
--single-threaded-gc禁止使用后台gc任务boolfalse