https://webassembly.studio/ позволяет проверять файлы WebAssembly (WASM) и соответствующий сгенерированный SpiderMonkey код x86. Я бы хотел аналогичным образом проверить инструкции, сгенерированные компиляторами WASM V8 (Liftoff и TurboFan) .
Я совершенно незнаком с базой кодов / API V8 (я скомпилировал и связал его и следовал некоторым учебники, хотя). Кажется, есть класс v8::CompiledWasmModule
, но он не предоставляет доступ к сгенерированным инструкциям x86 / x64 ни Liftoff, ни TurboFan.
WebAssembly - добавление нового кода операции описывает процесс добавления кода операции WASM в V8. На первый взгляд подходящие функции для компиляции / выполнения WASM доступны в упомянутых классах. Тем не менее, они кажутся довольно глубокими в пределах кодовой базы V8, и было бы трудно получить доступ, если бы я связал V8 как библиотеку. Кроме того, я не уверен, соответствует ли это Liftoff или TurboFan.
Может кто-нибудь, знакомый с базой кода V8, дать мне несколько советов о том, как я могу получить доступ к модулю компиляции WebSsembly Liftoff и / или TurboFan, чтобы получить x86 / x64 код?