node.js(或其他一些v8接口或v8的包装器)可以从v8 JIT输出生成的程序集吗?
我想看看生成的程序集对于各种代码段的外观。
答案 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查看)。