77 个版本

新增 0.2.93 2024 年 8 月 12 日
0.2.92 2024 年 3 月 4 日
0.2.91 2024 年 2 月 6 日
0.2.89 2023 年 11 月 27 日
0.2.28 2018 年 11 月 12 日

#1565WebAssembly

Download history 39809/week @ 2024-04-23 38868/week @ 2024-04-30 38397/week @ 2024-05-07 38230/week @ 2024-05-14 32154/week @ 2024-05-21 37226/week @ 2024-05-28 41830/week @ 2024-06-04 44277/week @ 2024-06-11 45126/week @ 2024-06-18 54166/week @ 2024-06-25 44464/week @ 2024-07-02 41797/week @ 2024-07-09 44208/week @ 2024-07-16 44642/week @ 2024-07-23 48081/week @ 2024-07-30 34667/week @ 2024-08-06

178,259 每月下载量
用于 34 个软件包中 (通过 wasm-bindgen-cli-support)

MIT/Apache

29KB
424 代码行

一个微小且不完整的 wasm 解释器

此模块包含一个基于 walrus 模块结构的微小且不完整的 wasm 解释器。每个 Interpreter 包含一些关于 wasm 实例执行状态的信息。这里的“不完整”部分与这个事实有关,即它仅用于执行 wasm-bindgen 的各种描述函数。

概括一下,wasm-bindgen 宏生成“描述函数”,这基本上是 rustc 的 trait 解析在可执行代码中的映射。这允许我们在宏调用之后检测 trait 选择做了什么,以及函数看起来像什么类型。通过执行描述函数,它们将分别调用一些已知的导入(只有一个参数)一些次数,这为我们提供了一个 u32 值的列表,然后进行解码。

这里的解释器仅针对这个特定用例,因此它相当小,并且可能不是特别高效。

依赖项

~6.5MB
~138K SLoC