从节点转储v8 JIT输出

时间:2012-06-08 17:10:46

标签: javascript node.js jit v8

node.js(或其他一些v8接口或v8的包装器)可以从v8 JIT输出生成的程序集吗?

我想看看生成的程序集对于各种代码段的外观。

1 个答案:

答案 0 :(得分:23)

您需要确保在启用V8反汇编程序的情况下构建node.js。默认情况下,调试版本将启用它。对于发布版本(在最近使用GYP构建的节点中),您可以通过执行以下操作来启用它:

GYP_DEFINES="v8_enable_disassembler=1 v8_object_print=1" ./configure

并重建节点。

启用反汇编程序后,您可以使用--print-code--print-code-stubs--print-opt-code--code-comments等标记来查看V8生成的代码。

如果您想调查优化编译器使用的IR,请使用--trace-hydrogen并查看hydrogen.cfg(可以使用C1 Visualizer查看)。