【问题标题】:Wasm JS api implementationWasm JS api 实现
【发布时间】:2021-05-22 14:30:49
【问题描述】:

我目前的兴趣是重写我们在编程语言课程中使用的语言的后端,以针对 wasm 而不是 MIPS。

所以要非常清楚,我不是在谈论使用 wasm,而是在创建 wasm 文件并让它一切正常。

我目前正在研究导入和导出,而 webassembly 规范(就目前而言)并未涵盖 wasm/js api 的实际工作方式。例如,当导入 JS console.log 函数或其他函数时,JS 引擎是否只搜索导入部分并查找编码的名称并将其与函数匹配?

我知道这不是“代码问题”,以通常的方式,但我似乎无法找到合适的位置。

【问题讨论】:

    标签: api compiler-construction webassembly


    【解决方案1】:

    我目前正在研究导入和导出,而 webassembly 规范(就目前而言)并未涵盖 wasm/js api 的实际工作方式。

    这就是规范的美妙之处,它可以有各种不同的实现!

    例如,当导入 JS console.log 函数或其他函数时,JS 引擎是否只搜索导入部分并查找编码的名称并将其与函数匹配?

    这似乎是一个合理的实现。创建 WebAssembly 模块时,您提供命名的导入函数,这些函数必须与 WebAssembly 模块的导入部分中的名称匹配。

    webassemblyjs 是一个基于 JavaScript 的 WebAssembly 解释器。您可以在此处查看它如何将外部提供的导入与模块的预期导入相匹配:

    https://github.com/xtuc/webassemblyjs/blob/master/packages/webassemblyjs/src/interpreter/index.js#L57

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-19
      • 2013-07-12
      • 1970-01-01
      • 2022-01-22
      • 1970-01-01
      • 2021-02-13
      相关资源
      最近更新 更多