从节点转储v8 JIT输出
node.js(或者一些其他的v8接口或v8的wrapper)能从v8 JIT中输出生成的程序集吗?
我想看看生成的程序集看起来像各种片段。
您需要确保node.js是在启用V8反汇编程序的情况下构build的。 debugging版本将默认启用它。 对于发布版本(在最近使用GYP构build的足够的节点),您可以通过执行以下操作来启用它:
GYP_DEFINES="v8_enable_disassembler=1 v8_object_print=1" ./configure
并重build节点。
启用反汇编器时,可以使用像--print-code
,– --print-code-stubs
, --print-opt-code
--code-comments
--print-opt-code
和--code-comments
这样的--code-comments
来检查由V8生成的代码。
如果您想研究优化编译器使用的--trace-hydrogen
使用的IR并查看hydrogen.cfg
(可以用C1 Visualizer查看)。