<分区>
在思考解释器工作的原因时: 解析代码 -> 生产者机器字节码 -> 分配可执行内存 -> 运行
在 wasm 中如何做到?
谢谢!
<分区>
在思考解释器工作的原因时: 解析代码 -> 生产者机器字节码 -> 分配可执行内存 -> 运行
在 wasm 中如何做到?
谢谢!
最佳答案
如果您实际上是在实现一个解释器,那么您就不需要在运行时生成机器代码,所以一切都可以留在 Wasm 中。
您实际上想到的似乎是一个即时编译器。为此,您确实必须回调嵌入器(即浏览器中的 JavaScript)并在那里动态创建和编译新的 Wasm 模块,并将它们链接到正在运行的程序中——例如,通过向现有的添加新功能 table 。此用例存在同步编译/实例化接口(interface)。
在未来的版本中,可能会直接从 Wasm 中调用编译 API,但目前通过 JavaScript 是预期的方法。
关于javascript - 将基于 JIT 的 lang 编译为 Webassembly,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42919339/