Skip to content

WebAssembly support

Brianna Marshall edited this page Oct 7, 2025 · 4 revisions

WebAssembly 1.0 Core Specification

Instructions

Instruction
inn.const inn
fnn.const fnn
inn.iunop
fnn.funop
inn.binop
fnn.fbinop
inn.itestop
inn.irelop
fnn.frelop
i32.wrap_i64
i64.extend_i32_sx
inn.trunc_fmm_sx
f32.demote_f64
f64.promote_f32
fnn.convert_imm_sx
inn.reinterpret_fnn
fnn.reinterpret_inn
Instruction
drop
select
Instruction
local.get localidx
local.set localidx
local.tee localidx
global.get globalidx
global.set globalidx
Instruction
inn.load memarg ✅¹
fnn.load memarg ✅¹
inn.store memarg ✅²
fnn.store memarg ✅²
inn.load8_sx memarg
inn.load16_sx memarg
i64.load32_sx memarg
inn.store8 memarg
inn.store16 memarg
i64.store32 memarg
memory.size ❌³
memory.grow ❌³

¹Via ref.load.
²Via ref.store.
³Managed by the runtime.

Instruction
nop
unreachable
block resulttype instr* end
loop resulttype instr* end
if resulttype instr* else instr* end
br labelidx
br_if labelidx
br_table vec(labelidx) labelidx
return
call funcidx
call_indirect typeidx

Other features

  • No host calls
  • No declaring or importing memories or tables
  • No start function

Clone this wiki locally