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逆アセンブラーが有効になっている場合、、、、などのフラグを使用して--print-code-stubs、 V8 によって生成されたコード--print-opt-code--code-commentsチェックアウトできます。

コンパイラの使用を最適化することによって使用される IR を調査したい場合は--trace-hydrogen、参照してくださいhydrogen.cfg(C1 Visualizer で表示できます)。

于 2012-06-08T17:26:03.253 に答える