Structure

Data structures of WasmVM objects for general use.

struct WasmVM::WasmModule
std::vector<FuncType> types
std::vector<WasmImport> imports
std::vector<WasmFunc> funcs
std::vector<TableType> tables
std::vector<MemType> mems
std::vector<WasmGlobal> globals
std::vector<WasmExport> exports
std::optional<index_t> start
std::vector<WasmElem> elems
std::vector<WasmData> datas
struct WasmVM::WasmFunc

Function in WebAssembly

index_t typeidx

Function type index

std::vector<ValueType> locals

Local variables

std::vector<WasmInstr> body

Function body

struct WasmVM::WasmGlobal
GlobalType type
ConstInstr init
struct WasmVM::WasmElem
RefType type
std::vector<ConstInstr> elemlist
ElemMode mode
struct ElemMode
enum Mode
enumerator passive
enumerator active
enumerator declarative
Mode type
std::optional<index_t> tableidx
std::optional<ConstInstr> offset
struct WasmVM::WasmData
std::vector<byte_t> init
DataMode mode
struct DataMode
enum Mode
enumerator passive
enumerator active
Mode type
std::optional<index_t> memidx
std::optional<ConstInstr> offset
struct WasmVM::WasmExport
enum DescType
enumerator func = 0x00
enumerator table = 0x01
enumerator mem = 0x02
enumerator global = 0x03
std::string name
DescType desc
index_t index
struct WasmVM::WasmImport
std::string module
std::string name
std::variant<index_t, TableType, MemType, GlobalType> desc
using WasmVM::ConstInstr = std::variant<Instr::Ref_null, Instr::Ref_func, Instr::Global_get, Instr::I32_const, Instr::I64_const, Instr::F32_const, Instr::F64_const>
using WasmVM::WasmInstr = std::variant<Instr::Unreachable, Instr::Nop, Instr::Block, Instr::Loop, Instr::If, Instr::Else, Instr::End, Instr::Br, Instr::Br_if, Instr::Br_table, Instr::Return, Instr::Call, Instr::Call_indirect, Instr::Ref_null, Instr::Ref_is_null, Instr::Ref_func, Instr::Drop, Instr::Select, Instr::Local_get, Instr::Local_set, Instr::Local_tee, Instr::Global_get, Instr::Global_set, Instr::Table_get, Instr::Table_set, Instr::Table_size, Instr::Table_grow, Instr::Table_fill, Instr::Table_copy, Instr::Table_init, Instr::Elem_drop, Instr::I32_load, Instr::I64_load, Instr::F32_load, Instr::F64_load, Instr::I32_load8_s, Instr::I32_load8_u, Instr::I32_load16_s, Instr::I32_load16_u, Instr::I64_load8_s, Instr::I64_load8_u, Instr::I64_load16_s, Instr::I64_load16_u, Instr::I64_load32_s, Instr::I64_load32_u, Instr::I32_store, Instr::I64_store, Instr::F32_store, Instr::F64_store, Instr::I32_store8, Instr::I32_store16, Instr::I64_store8, Instr::I64_store16, Instr::I64_store32, Instr::Memory_size, Instr::Memory_grow, Instr::Memory_fill, Instr::Memory_init, Instr::Data_drop, Instr::Memory_copy, Instr::I32_const, Instr::I64_const, Instr::F32_const, Instr::F64_const, Instr::I32_eqz, Instr::I32_eq, Instr::I32_ne, Instr::I32_lt_s, Instr::I32_lt_u, Instr::I32_gt_s, Instr::I32_gt_u, Instr::I32_le_s, Instr::I32_le_u, Instr::I32_ge_s, Instr::I32_ge_u, Instr::I64_eqz, Instr::I64_eq, Instr::I64_ne, Instr::I64_lt_s, Instr::I64_lt_u, Instr::I64_gt_s, Instr::I64_gt_u, Instr::I64_le_s, Instr::I64_le_u, Instr::I64_ge_s, Instr::I64_ge_u, Instr::F32_eq, Instr::F32_ne, Instr::F32_lt, Instr::F32_gt, Instr::F32_le, Instr::F32_ge, Instr::F64_eq, Instr::F64_ne, Instr::F64_lt, Instr::F64_gt, Instr::F64_le, Instr::F64_ge, Instr::I32_clz, Instr::I32_ctz, Instr::I32_popcnt, Instr::I32_add, Instr::I32_sub, Instr::I32_mul, Instr::I32_div_s, Instr::I32_div_u, Instr::I32_rem_s, Instr::I32_rem_u, Instr::I32_and, Instr::I32_or, Instr::I32_xor, Instr::I32_shl, Instr::I32_shr_s, Instr::I32_shr_u, Instr::I32_rotl, Instr::I32_rotr, Instr::I64_clz, Instr::I64_ctz, Instr::I64_popcnt, Instr::I64_add, Instr::I64_sub, Instr::I64_mul, Instr::I64_div_s, Instr::I64_div_u, Instr::I64_rem_s, Instr::I64_rem_u, Instr::I64_and, Instr::I64_or, Instr::I64_xor, Instr::I64_shl, Instr::I64_shr_s, Instr::I64_shr_u, Instr::I64_rotl, Instr::I64_rotr, Instr::F32_abs, Instr::F32_neg, Instr::F32_ceil, Instr::F32_floor, Instr::F32_trunc, Instr::F32_nearest, Instr::F32_sqrt, Instr::F32_add, Instr::F32_sub, Instr::F32_mul, Instr::F32_div, Instr::F32_min, Instr::F32_max, Instr::F32_copysign, Instr::F64_abs, Instr::F64_neg, Instr::F64_ceil, Instr::F64_floor, Instr::F64_trunc, Instr::F64_nearest, Instr::F64_sqrt, Instr::F64_add, Instr::F64_sub, Instr::F64_mul, Instr::F64_div, Instr::F64_min, Instr::F64_max, Instr::F64_copysign, Instr::I32_wrap_i64, Instr::I32_trunc_s_f32, Instr::I32_trunc_u_f32, Instr::I32_trunc_s_f64, Instr::I32_trunc_u_f64, Instr::I64_extend_s_i32, Instr::I64_extend_u_i32, Instr::I64_trunc_s_f32, Instr::I64_trunc_u_f32, Instr::I64_trunc_s_f64, Instr::I64_trunc_u_f64, Instr::F32_convert_s_i32, Instr::F32_convert_u_i32, Instr::F32_convert_s_i64, Instr::F32_convert_u_i64, Instr::F32_demote_f64, Instr::F64_convert_s_i32, Instr::F64_convert_u_i32, Instr::F64_convert_s_i64, Instr::F64_convert_u_i64, Instr::F64_promote_f32, Instr::I32_reinterpret_f32, Instr::I64_reinterpret_f64, Instr::F32_reinterpret_i32, Instr::F64_reinterpret_i64, Instr::I32_extend8_s, Instr::I32_extend16_s, Instr::I64_extend8_s, Instr::I64_extend16_s, Instr::I64_extend32_s, Instr::I32_trunc_sat_f32_s, Instr::I32_trunc_sat_f32_u, Instr::I32_trunc_sat_f64_s, Instr::I32_trunc_sat_f64_u, Instr::I64_trunc_sat_f32_s, Instr::I64_trunc_sat_f32_u, Instr::I64_trunc_sat_f64_s, Instr::I64_trunc_sat_f64_u>