wasm

Reference

What’s implemented, what isn’t, and the error variants you can pattern-match on.

The Quickstart and Concepts pages cover the model. This section is for lookups — does the interpreter implement X, what’s the type of Y, what error fires on Z.

At a glance

Implemented:

  • Every WebAssembly Core opcode (numeric, control flow, memory, tables, parametric, variables).
  • Sign-extension proposal (i{32,64}.extend{8,16,32}_s).
  • Non-trapping float-to-int (*.trunc_sat_f*_*).
  • Bulk-memory (memory.{init,copy,fill}, data.drop, table.{init,copy,fill}, elem.drop).
  • Reference types (funcref, externref, ref.{null,is_null,func}, table.{get,set,grow,size,fill}, typed select t*).
  • Multi-memory (every memory opcode carries a memidx; modules may declare more than one memory).
  • Full SIMD proposal — all ~236 ops under the 0xFD prefix (V128 value type plumbed end-to-end).
  • Relaxed SIMD — all 20 sub-opcodes (0x100..0x113).
  • Exception handling — both legacy (try / catch / throw / rethrow / delegate) and modern (try_table + throw_ref + exnref).
  • Tail calls (return_call / return_call_indirect).
  • Threads / atomics — 66 atomic sub-opcodes + shared memory + wait / notify / fence.
  • Multi-value blocks + functions.
  • Start section.
  • Validation pass that runs before any code does.

Not implemented:

  • Function references proposal (typed (ref null func) short-form reftype with wire byte 0x63).
  • GC proposal (struct.*, array.*, ref.cast).
  • Component model (out of scope — packaging proposal, not a wasm core feature).

See Opcodes for the by-byte detail.

  • Opcodes — every WebAssembly opcode group, supported or planned.
  • Errors — the WasmError ADT in one table.
  • Spec compliance — running the W3C testsuite against the interpreter.

Pages

  • Opcodes — Every WebAssembly opcode group the interpreter handles, plus what's intentionally out of scope.
  • Errors — The `WasmError` ADT in one table — every variant, what causes it, where it surfaces.
  • Spec compliance — Running the W3C WebAssembly testsuite against the interpreter — what's wired in, what's pinned as known-failing, and how to extend the slice.

Search

Esc
to navigate to open Esc to close