主要观点:介绍了一个用安全 Rust 编写的小型 WebAssembly 运行时 TinyWasm,包括其特点、现状、安全性、支持的提案、用法、特性标志、灵感来源和许可证等方面。
关键信息:
- 设计小巧(<4000 LLOC)、可移植(能在 Rust 可支持的任何平台运行,包括
no_std且外部依赖少)、安全(无 unsafe 代码)。 - 通过 WebAssembly MVP 测试,支持多数 WebAssembly 程序,除 SIMD 和 Memory64 提案外。
- 安全性方面在内存安全方面设计良好,但目前无防止无限循环或过度内存使用的保护。
- 列出了各种支持的提案及其状态和对应的 TinyWasm 版本。
- 提供了示例目录和文档用于使用说明,还有
tinywasm-cli工具用于测试。 - 有
std、logging、parser、archive等特性标志,可在no_std环境中使用。 - 受 wasmi、wasm3、wazero、wain 等项目启发。
- 依据 Apache License Version 2.0 或 MIT 许可证授权。
重要细节: tinywasm.png链接指向 GitHub 仓库,文档链接为https://docs.rs/tinywasm,Crates.io 链接为https://crates.io/crates/tinywasm,许可证链接为https://github.com/explodingcamera/tinywasm/blob/next/LICENSE-APACHE。- 不同提案的支持情况详细列出,如 Mutable Globals 等提案已完全支持,Tail Call 等提案在
next版本支持等。 - 特性标志的作用和默认启用情况说明清楚,如
std默认启用用于从文件和流解析等。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。