13

node.js(或其他 v8 接口或 v8 包装器)能否从 v8 JIT 输出生成的程序集?

我想看看为各种片段生成的程序集是什么样的。

4

1 回答 1

24

您需要确保在构建 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 查看)。

于 2012-06-08T17:26:03.253 回答