Tags
javascriptwasm
Created
May 8, 2018 10:01 AM
https://github.com/rust-lang/rust/tree/master/src/libstd/sys/wasm
现在基本就是 asm.js 的翻版:http://webassembly.org/docs/mvp/
- WebAssembly 中的可分发,可加载和可执行的代码单元称为模块。
- WebAssembly 代码在模块中的行为是根据结构化堆栈机器的指令指定的。
- WebAssembly 二进制格式被设计为由 WebAssembly 实现本地解码,被指定为模块结构和代码的二进制编码。
- WebAssembly 文本格式被设计为在使用工具(例如,汇编器,调试器,分析器)时被读取和写入,被指定为模块结构和代码的文本投影。
- WebAssembly 旨在通过Web浏览器和完全不同的执行环境来实现。
Garbage collection // 让有 GC 高级语言(such as Dart or Kotlin)也能编译成 wasm
Fixed width SIMD/Relaxed SIMD
线程 // Worker + SharedArrayBuffer,C++ pthread,rust std::thread
- https://developers.google.com/web/updates/2018/10/wasm-threads
- https://rustwasm.github.io/2018/10/24/multithreading-rust-and-wasm.html
https://hacks.mozilla.org/2019/11/multi-value-all-the-wasm/
- 加快访问 DOM 的速度 // 可以同时指定指针和长度
- Wasm interface types // 直接在 wasm 中使用 js 对象
- Wasm 实现 WebIDL // WebIDL 类型的 Wasm 表示
0f9ad8fd5fd64cf8a164acd8c8ff71c6
以后:http://webassembly.org/docs/future-features/
- GEMM
- JS Promise Integration
- ESM 集成 // wasm 能直接导入 js 模块,类似 wasm-bindgen 使用 attributes 导入 js 内容
- 。。。