node.js(或其他 v8 接口或 v8 包装器)能否从 v8 JIT 输出生成的程序集?
我想看看为各种片段生成的程序集是什么样的。
您需要确保在构建 node.js 时启用了 V8 反汇编程序。默认情况下,调试版本将启用它。对于发布版本(在最近使用 GYP 版本的节点中),您可以通过以下方式启用它:
GYP_DEFINES="v8_enable_disassembler=1 v8_object_print=1" ./configure
和重建节点。
启用反汇编程序后,您可以使用 、 和 等标志--print-code
来检查V8 生成的代码。--print-code-stubs
--print-opt-code
--code-comments
如果您想通过优化编译器使用来研究 IR 使用--trace-hydrogen
并查看hydrogen.cfg
(可以使用 C1 Visualizer 查看)。