GC instructions

Aggregate (struct and array) instructions from the WebAssembly GC proposal. All opcodes are encoded with the 0xFB prefix.

Struct instructions

using WasmVM::Instr::Struct_new = WasmVM::Instr::OneIndex<WasmVM::Opcode::Struct_new>
enumerator WasmVM::Opcode::Struct_new = 0xFB00
using WasmVM::Instr::Struct_new_default = WasmVM::Instr::OneIndex<WasmVM::Opcode::Struct_new_default>
enumerator WasmVM::Opcode::Struct_new_default = 0xFB01
struct WasmVM::Instr::Struct_get : public Base
Struct_get(index_t typeidx, index_t fieldidx)
index_t typeidx
index_t fieldidx
enumerator WasmVM::Opcode::Struct_get = 0xFB02
struct WasmVM::Instr::Struct_get_s : public Base
Struct_get_s(index_t typeidx, index_t fieldidx)
index_t typeidx
index_t fieldidx
enumerator WasmVM::Opcode::Struct_get_s = 0xFB03
struct WasmVM::Instr::Struct_get_u : public Base
Struct_get_u(index_t typeidx, index_t fieldidx)
index_t typeidx
index_t fieldidx
enumerator WasmVM::Opcode::Struct_get_u = 0xFB04
struct WasmVM::Instr::Struct_set : public Base
Struct_set(index_t typeidx, index_t fieldidx)
index_t typeidx
index_t fieldidx
enumerator WasmVM::Opcode::Struct_set = 0xFB05

Array instructions

using WasmVM::Instr::Array_new = WasmVM::Instr::OneIndex<WasmVM::Opcode::Array_new>
enumerator WasmVM::Opcode::Array_new = 0xFB06
using WasmVM::Instr::Array_new_default = WasmVM::Instr::OneIndex<WasmVM::Opcode::Array_new_default>
enumerator WasmVM::Opcode::Array_new_default = 0xFB07
struct WasmVM::Instr::Array_new_fixed : public Base
Array_new_fixed(index_t typeidx, u32_t n)
index_t typeidx
u32_t n
enumerator WasmVM::Opcode::Array_new_fixed = 0xFB08
struct WasmVM::Instr::Array_new_data : public Base
Array_new_data(index_t typeidx, index_t dataidx)
index_t typeidx
index_t dataidx
enumerator WasmVM::Opcode::Array_new_data = 0xFB09
struct WasmVM::Instr::Array_new_elem : public Base
Array_new_elem(index_t typeidx, index_t elemidx)
index_t typeidx
index_t elemidx
enumerator WasmVM::Opcode::Array_new_elem = 0xFB0A
using WasmVM::Instr::Array_get = WasmVM::Instr::OneIndex<WasmVM::Opcode::Array_get>
enumerator WasmVM::Opcode::Array_get = 0xFB0B
using WasmVM::Instr::Array_get_s = WasmVM::Instr::OneIndex<WasmVM::Opcode::Array_get_s>
enumerator WasmVM::Opcode::Array_get_s = 0xFB0C
using WasmVM::Instr::Array_get_u = WasmVM::Instr::OneIndex<WasmVM::Opcode::Array_get_u>
enumerator WasmVM::Opcode::Array_get_u = 0xFB0D
using WasmVM::Instr::Array_set = WasmVM::Instr::OneIndex<WasmVM::Opcode::Array_set>
enumerator WasmVM::Opcode::Array_set = 0xFB0E
using WasmVM::Instr::Array_len = WasmVM::Instr::Atomic<WasmVM::Opcode::Array_len>
enumerator WasmVM::Opcode::Array_len = 0xFB0F
struct WasmVM::Instr::Array_fill : public Base
Array_fill(index_t typeidx)
index_t typeidx
enumerator WasmVM::Opcode::Array_fill = 0xFB10
struct WasmVM::Instr::Array_copy : public Base
Array_copy(index_t dst_typeidx, index_t src_typeidx)
index_t dst_typeidx
index_t src_typeidx
enumerator WasmVM::Opcode::Array_copy = 0xFB11
struct WasmVM::Instr::Array_init_data : public Base
Array_init_data(index_t typeidx, index_t dataidx)
index_t typeidx
index_t dataidx
enumerator WasmVM::Opcode::Array_init_data = 0xFB12
struct WasmVM::Instr::Array_init_elem : public Base
Array_init_elem(index_t typeidx, index_t elemidx)
index_t typeidx
index_t elemidx
enumerator WasmVM::Opcode::Array_init_elem = 0xFB13