如何检查V8从WebAssembly生成的x86x64代码?

问题描述 投票:0回答:1

https:/webassembly. studio 允许检查WebAssembly(WASM)文件和相应的SpiderMonkey生成的x86代码。我想同样检查V8的WASM编译器(Liftoff和TurboFan)生成的指令。.

我对V8的codebaseAPI完全不熟悉(虽然我编译了&链接了它,并遵循了一些教程)。似乎有一个 v8::CompiledWasmModule 类,但它似乎没有暴露出Liftoff或TurboFan对生成的x86x64指令的访问。

WebAssembly - 增加一个新的操作码 描述了在V8中添加WASM操作码的过程。在提到的类中,似乎有适合WASM编译执行的功能。虽然,这些功能似乎在V8代码库中分得比较深,如果我把V8作为一个库来链接,将很难访问。另外,我不确定这是否对应Liftoff或TurboFan。

有熟悉V8代码库的人可以给我一些提示,告诉我如何访问Liftoff和TurboFan的WebAssembly编译模块,以获得x86x64代码?

v8 webassembly embedded-v8
1个回答
0
投票

要检查生成的代码,你可以运行 d8 壳与 --print-wasm-code 标志。你需要一个调试版本,或者一个带有 v8_enable_disassembler = true GN arg。

目前还没有办法通过 V8 的 API 来检索生成的代码;所以如果你想要这样的话,你就必须添加它。请记住,V8并不是被设计成一个独立的编译器,这意味着生成的代码假定它将在 "V8内部 "运行,所以如果你想用它来做其他事情,你必须做重大修改。

© www.soinside.com 2019 - 2024. All rights reserved.