skip to content
==> README.md <==
1# @ajax/wasm-opcodes
2
3The WebAssembly instruction set as data. For every instruction the decoder knows — the MVP, sign
4extension, non-trapping float-to-int, multi-value, reference types and bulk memory as rows; SIMD,
5relaxed SIMD and atomics by rule — `wasm_op_info` gives its immediates, its operand signature when it
6is a plain one (`"ff>f"`), the proposal that introduced it, the access size of a load or store, and
7wasmparser's name for it (its `Operator` variant: `F32Add`), which meshd's float guard prints.
8
9SIMD and atomics are known only by their immediates (named `Simd`, `RelaxedSimd`, `Atomic`): enough for
10the decoder and the float guard to walk and refuse them, not to run them.
11
12Part of [alpha-c-mesh](https://github.com/thomasdavis/alpha-c-mesh)'s WebAssembly interpreter (it replaces
13wasmparser in the port of alpha-rust-mesh's `mesh-host/src/wasm.rs`).
14
15Tests: `tests/opcodes.c`.