10 months ago
- Microwasm is a Wasm-compatible format designed for efficient runtime consumption and compiler production.
- Goals include easy implementation steps, maintaining safety/determinism, and maximizing useful information transfer.
- Microwasm optimizes for performance in streaming compilation without sacrificing existing Wasm performance.
- Key differences from Wasm: no locals, CFG control flow only, no hierarchical blocks, and explicit environment arguments for certain instructions.
- Microwasm simplifies backend codegen and improves register usage, as shown in comparative assembly outputs.
- V8's resistance to arbitrary CFGs makes integrating Microwasm changes into WebAssembly unlikely, leading to the development of a separate format.
- Microwasm serves as a prototype for potential future WebAssembly improvements, circumventing current committee limitations.