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