3

当考虑解释器工作的原因时:解析代码 -> 生产者机器字节码 -> 分配 exec mem -> 运行

如何在 wasm 中完成?

谢谢!

4

1 回答 1

4

如果你实际上是在实现一个解释器,那么你不需要在运行时生成机器代码,所以一切都可以留在 Wasm 中。

您实际上似乎想到的是一个即时编译器。为此,您确实必须回调嵌入器(即浏览器中的 JavaScript)并在那里即时创建和编译新的 Wasm 模块,并将它们链接到正在运行的程序中——例如,通过向现有的程序添加新函数桌子。此用例存在同步编译/实例化接口。

在未来的版本中,可能可以直接从 Wasm 中调用编译 API,但目前通过 JavaScript 是预期的方法。

于 2017-03-21T07:01:51.413 回答