wasmparser

Enum Operator

source
#[non_exhaustive]
pub enum Operator<'a> {
Show 362 variants Unreachable, Nop, Block { blockty: BlockType, }, Loop { blockty: BlockType, }, If { blockty: BlockType, }, Else, End, Br { relative_depth: u32, }, BrIf { relative_depth: u32, }, BrTable { targets: BrTable<'a>, }, Return, Call { function_index: u32, }, CallIndirect { type_index: u32, table_index: u32, }, Drop, Select, LocalGet { local_index: u32, }, LocalSet { local_index: u32, }, LocalTee { local_index: u32, }, GlobalGet { global_index: u32, }, GlobalSet { global_index: u32, }, I32Load { memarg: MemArg, }, I64Load { memarg: MemArg, }, F32Load { memarg: MemArg, }, F64Load { memarg: MemArg, }, I32Load8S { memarg: MemArg, }, I32Load8U { memarg: MemArg, }, I32Load16S { memarg: MemArg, }, I32Load16U { memarg: MemArg, }, I64Load8S { memarg: MemArg, }, I64Load8U { memarg: MemArg, }, I64Load16S { memarg: MemArg, }, I64Load16U { memarg: MemArg, }, I64Load32S { memarg: MemArg, }, I64Load32U { memarg: MemArg, }, I32Store { memarg: MemArg, }, I64Store { memarg: MemArg, }, F32Store { memarg: MemArg, }, F64Store { memarg: MemArg, }, I32Store8 { memarg: MemArg, }, I32Store16 { memarg: MemArg, }, I64Store8 { memarg: MemArg, }, I64Store16 { memarg: MemArg, }, I64Store32 { memarg: MemArg, }, MemorySize { mem: u32, }, MemoryGrow { mem: u32, }, I32Const { value: i32, }, I64Const { value: i64, }, F32Const { value: Ieee32, }, F64Const { value: Ieee64, }, I32Eqz, I32Eq, I32Ne, I32LtS, I32LtU, I32GtS, I32GtU, I32LeS, I32LeU, I32GeS, I32GeU, I64Eqz, I64Eq, I64Ne, I64LtS, I64LtU, I64GtS, I64GtU, I64LeS, I64LeU, I64GeS, I64GeU, F32Eq, F32Ne, F32Lt, F32Gt, F32Le, F32Ge, F64Eq, F64Ne, F64Lt, F64Gt, F64Le, F64Ge, I32Clz, I32Ctz, I32Popcnt, I32Add, I32Sub, I32Mul, I32DivS, I32DivU, I32RemS, I32RemU, I32And, I32Or, I32Xor, I32Shl, I32ShrS, I32ShrU, I32Rotl, I32Rotr, I64Clz, I64Ctz, I64Popcnt, I64Add, I64Sub, I64Mul, I64DivS, I64DivU, I64RemS, I64RemU, I64And, I64Or, I64Xor, I64Shl, I64ShrS, I64ShrU, I64Rotl, I64Rotr, F32Abs, F32Neg, F32Ceil, F32Floor, F32Trunc, F32Nearest, F32Sqrt, F32Add, F32Sub, F32Mul, F32Div, F32Min, F32Max, F32Copysign, F64Abs, F64Neg, F64Ceil, F64Floor, F64Trunc, F64Nearest, F64Sqrt, F64Add, F64Sub, F64Mul, F64Div, F64Min, F64Max, F64Copysign, I32WrapI64, I32TruncF32S, I32TruncF32U, I32TruncF64S, I32TruncF64U, I64ExtendI32S, I64ExtendI32U, I64TruncF32S, I64TruncF32U, I64TruncF64S, I64TruncF64U, F32ConvertI32S, F32ConvertI32U, F32ConvertI64S, F32ConvertI64U, F32DemoteF64, F64ConvertI32S, F64ConvertI32U, F64ConvertI64S, F64ConvertI64U, F64PromoteF32, I32ReinterpretF32, I64ReinterpretF64, F32ReinterpretI32, F64ReinterpretI64, I32Extend8S, I32Extend16S, I64Extend8S, I64Extend16S, I64Extend32S, RefEq, StructNew { struct_type_index: u32, }, StructNewDefault { struct_type_index: u32, }, StructGet { struct_type_index: u32, field_index: u32, }, StructGetS { struct_type_index: u32, field_index: u32, }, StructGetU { struct_type_index: u32, field_index: u32, }, StructSet { struct_type_index: u32, field_index: u32, }, ArrayNew { array_type_index: u32, }, ArrayNewDefault { array_type_index: u32, }, ArrayNewFixed { array_type_index: u32, array_size: u32, }, ArrayNewData { array_type_index: u32, array_data_index: u32, }, ArrayNewElem { array_type_index: u32, array_elem_index: u32, }, ArrayGet { array_type_index: u32, }, ArrayGetS { array_type_index: u32, }, ArrayGetU { array_type_index: u32, }, ArraySet { array_type_index: u32, }, ArrayLen, ArrayFill { array_type_index: u32, }, ArrayCopy { array_type_index_dst: u32, array_type_index_src: u32, }, ArrayInitData { array_type_index: u32, array_data_index: u32, }, ArrayInitElem { array_type_index: u32, array_elem_index: u32, }, RefTestNonNull { hty: HeapType, }, RefTestNullable { hty: HeapType, }, RefCastNonNull { hty: HeapType, }, RefCastNullable { hty: HeapType, }, BrOnCast { relative_depth: u32, from_ref_type: RefType, to_ref_type: RefType, }, BrOnCastFail { relative_depth: u32, from_ref_type: RefType, to_ref_type: RefType, }, AnyConvertExtern, ExternConvertAny, RefI31, I31GetS, I31GetU, I32TruncSatF32S, I32TruncSatF32U, I32TruncSatF64S, I32TruncSatF64U, I64TruncSatF32S, I64TruncSatF32U, I64TruncSatF64S, I64TruncSatF64U, MemoryInit { data_index: u32, mem: u32, }, DataDrop { data_index: u32, }, MemoryCopy { dst_mem: u32, src_mem: u32, }, MemoryFill { mem: u32, }, TableInit { elem_index: u32, table: u32, }, ElemDrop { elem_index: u32, }, TableCopy { dst_table: u32, src_table: u32, }, TypedSelect { ty: ValType, }, RefNull { hty: HeapType, }, RefIsNull, RefFunc { function_index: u32, }, TableFill { table: u32, }, TableGet { table: u32, }, TableSet { table: u32, }, TableGrow { table: u32, }, TableSize { table: u32, }, ReturnCall { function_index: u32, }, ReturnCallIndirect { type_index: u32, table_index: u32, }, MemoryDiscard { mem: u32, }, MemoryAtomicNotify { memarg: MemArg, }, MemoryAtomicWait32 { memarg: MemArg, }, MemoryAtomicWait64 { memarg: MemArg, }, AtomicFence, I32AtomicLoad { memarg: MemArg, }, I64AtomicLoad { memarg: MemArg, }, I32AtomicLoad8U { memarg: MemArg, }, I32AtomicLoad16U { memarg: MemArg, }, I64AtomicLoad8U { memarg: MemArg, }, I64AtomicLoad16U { memarg: MemArg, }, I64AtomicLoad32U { memarg: MemArg, }, I32AtomicStore { memarg: MemArg, }, I64AtomicStore { memarg: MemArg, }, I32AtomicStore8 { memarg: MemArg, }, I32AtomicStore16 { memarg: MemArg, }, I64AtomicStore8 { memarg: MemArg, }, I64AtomicStore16 { memarg: MemArg, }, I64AtomicStore32 { memarg: MemArg, }, I32AtomicRmwAdd { memarg: MemArg, }, I64AtomicRmwAdd { memarg: MemArg, }, I32AtomicRmw8AddU { memarg: MemArg, }, I32AtomicRmw16AddU { memarg: MemArg, }, I64AtomicRmw8AddU { memarg: MemArg, }, I64AtomicRmw16AddU { memarg: MemArg, }, I64AtomicRmw32AddU { memarg: MemArg, }, I32AtomicRmwSub { memarg: MemArg, }, I64AtomicRmwSub { memarg: MemArg, }, I32AtomicRmw8SubU { memarg: MemArg, }, I32AtomicRmw16SubU { memarg: MemArg, }, I64AtomicRmw8SubU { memarg: MemArg, }, I64AtomicRmw16SubU { memarg: MemArg, }, I64AtomicRmw32SubU { memarg: MemArg, }, I32AtomicRmwAnd { memarg: MemArg, }, I64AtomicRmwAnd { memarg: MemArg, }, I32AtomicRmw8AndU { memarg: MemArg, }, I32AtomicRmw16AndU { memarg: MemArg, }, I64AtomicRmw8AndU { memarg: MemArg, }, I64AtomicRmw16AndU { memarg: MemArg, }, I64AtomicRmw32AndU { memarg: MemArg, }, I32AtomicRmwOr { memarg: MemArg, }, I64AtomicRmwOr { memarg: MemArg, }, I32AtomicRmw8OrU { memarg: MemArg, }, I32AtomicRmw16OrU { memarg: MemArg, }, I64AtomicRmw8OrU { memarg: MemArg, }, I64AtomicRmw16OrU { memarg: MemArg, }, I64AtomicRmw32OrU { memarg: MemArg, }, I32AtomicRmwXor { memarg: MemArg, }, I64AtomicRmwXor { memarg: MemArg, }, I32AtomicRmw8XorU { memarg: MemArg, }, I32AtomicRmw16XorU { memarg: MemArg, }, I64AtomicRmw8XorU { memarg: MemArg, }, I64AtomicRmw16XorU { memarg: MemArg, }, I64AtomicRmw32XorU { memarg: MemArg, }, I32AtomicRmwXchg { memarg: MemArg, }, I64AtomicRmwXchg { memarg: MemArg, }, I32AtomicRmw8XchgU { memarg: MemArg, }, I32AtomicRmw16XchgU { memarg: MemArg, }, I64AtomicRmw8XchgU { memarg: MemArg, }, I64AtomicRmw16XchgU { memarg: MemArg, }, I64AtomicRmw32XchgU { memarg: MemArg, }, I32AtomicRmwCmpxchg { memarg: MemArg, }, I64AtomicRmwCmpxchg { memarg: MemArg, }, I32AtomicRmw8CmpxchgU { memarg: MemArg, }, I32AtomicRmw16CmpxchgU { memarg: MemArg, }, I64AtomicRmw8CmpxchgU { memarg: MemArg, }, I64AtomicRmw16CmpxchgU { memarg: MemArg, }, I64AtomicRmw32CmpxchgU { memarg: MemArg, }, TryTable { try_table: TryTable, }, Throw { tag_index: u32, }, ThrowRef, Try { blockty: BlockType, }, Catch { tag_index: u32, }, Rethrow { relative_depth: u32, }, Delegate { relative_depth: u32, }, CatchAll, GlobalAtomicGet { ordering: Ordering, global_index: u32, }, GlobalAtomicSet { ordering: Ordering, global_index: u32, }, GlobalAtomicRmwAdd { ordering: Ordering, global_index: u32, }, GlobalAtomicRmwSub { ordering: Ordering, global_index: u32, }, GlobalAtomicRmwAnd { ordering: Ordering, global_index: u32, }, GlobalAtomicRmwOr { ordering: Ordering, global_index: u32, }, GlobalAtomicRmwXor { ordering: Ordering, global_index: u32, }, GlobalAtomicRmwXchg { ordering: Ordering, global_index: u32, }, GlobalAtomicRmwCmpxchg { ordering: Ordering, global_index: u32, }, TableAtomicGet { ordering: Ordering, table_index: u32, }, TableAtomicSet { ordering: Ordering, table_index: u32, }, TableAtomicRmwXchg { ordering: Ordering, table_index: u32, }, TableAtomicRmwCmpxchg { ordering: Ordering, table_index: u32, }, StructAtomicGet { ordering: Ordering, struct_type_index: u32, field_index: u32, }, StructAtomicGetS { ordering: Ordering, struct_type_index: u32, field_index: u32, }, StructAtomicGetU { ordering: Ordering, struct_type_index: u32, field_index: u32, }, StructAtomicSet { ordering: Ordering, struct_type_index: u32, field_index: u32, }, StructAtomicRmwAdd { ordering: Ordering, struct_type_index: u32, field_index: u32, }, StructAtomicRmwSub { ordering: Ordering, struct_type_index: u32, field_index: u32, }, StructAtomicRmwAnd { ordering: Ordering, struct_type_index: u32, field_index: u32, }, StructAtomicRmwOr { ordering: Ordering, struct_type_index: u32, field_index: u32, }, StructAtomicRmwXor { ordering: Ordering, struct_type_index: u32, field_index: u32, }, StructAtomicRmwXchg { ordering: Ordering, struct_type_index: u32, field_index: u32, }, StructAtomicRmwCmpxchg { ordering: Ordering, struct_type_index: u32, field_index: u32, }, ArrayAtomicGet { ordering: Ordering, array_type_index: u32, }, ArrayAtomicGetS { ordering: Ordering, array_type_index: u32, }, ArrayAtomicGetU { ordering: Ordering, array_type_index: u32, }, ArrayAtomicSet { ordering: Ordering, array_type_index: u32, }, ArrayAtomicRmwAdd { ordering: Ordering, array_type_index: u32, }, ArrayAtomicRmwSub { ordering: Ordering, array_type_index: u32, }, ArrayAtomicRmwAnd { ordering: Ordering, array_type_index: u32, }, ArrayAtomicRmwOr { ordering: Ordering, array_type_index: u32, }, ArrayAtomicRmwXor { ordering: Ordering, array_type_index: u32, }, ArrayAtomicRmwXchg { ordering: Ordering, array_type_index: u32, }, ArrayAtomicRmwCmpxchg { ordering: Ordering, array_type_index: u32, }, RefI31Shared, CallRef { type_index: u32, }, ReturnCallRef { type_index: u32, }, RefAsNonNull, BrOnNull { relative_depth: u32, }, BrOnNonNull { relative_depth: u32, }, ContNew { cont_type_index: u32, }, ContBind { argument_index: u32, result_index: u32, }, Suspend { tag_index: u32, }, Resume { cont_type_index: u32, resume_table: ResumeTable, }, ResumeThrow { cont_type_index: u32, tag_index: u32, resume_table: ResumeTable, }, Switch { cont_type_index: u32, tag_index: u32, }, I64Add128, I64Sub128, I64MulWideS, I64MulWideU,
}
Expand description

Instructions as defined here.

Variants (Non-exhaustive)§

This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

Unreachable

§

Nop

§

Block

Fields

§blockty: BlockType
§

Loop

Fields

§blockty: BlockType
§

If

Fields

§blockty: BlockType
§

Else

§

End

§

Br

Fields

§relative_depth: u32
§

BrIf

Fields

§relative_depth: u32
§

BrTable

Fields

§targets: BrTable<'a>
§

Return

§

Call

Fields

§function_index: u32
§

CallIndirect

Fields

§type_index: u32
§table_index: u32
§

Drop

§

Select

§

LocalGet

Fields

§local_index: u32
§

LocalSet

Fields

§local_index: u32
§

LocalTee

Fields

§local_index: u32
§

GlobalGet

Fields

§global_index: u32
§

GlobalSet

Fields

§global_index: u32
§

I32Load

Fields

§memarg: MemArg
§

I64Load

Fields

§memarg: MemArg
§

F32Load

Fields

§memarg: MemArg
§

F64Load

Fields

§memarg: MemArg
§

I32Load8S

Fields

§memarg: MemArg
§

I32Load8U

Fields

§memarg: MemArg
§

I32Load16S

Fields

§memarg: MemArg
§

I32Load16U

Fields

§memarg: MemArg
§

I64Load8S

Fields

§memarg: MemArg
§

I64Load8U

Fields

§memarg: MemArg
§

I64Load16S

Fields

§memarg: MemArg
§

I64Load16U

Fields

§memarg: MemArg
§

I64Load32S

Fields

§memarg: MemArg
§

I64Load32U

Fields

§memarg: MemArg
§

I32Store

Fields

§memarg: MemArg
§

I64Store

Fields

§memarg: MemArg
§

F32Store

Fields

§memarg: MemArg
§

F64Store

Fields

§memarg: MemArg
§

I32Store8

Fields

§memarg: MemArg
§

I32Store16

Fields

§memarg: MemArg
§

I64Store8

Fields

§memarg: MemArg
§

I64Store16

Fields

§memarg: MemArg
§

I64Store32

Fields

§memarg: MemArg
§

MemorySize

Fields

§mem: u32
§

MemoryGrow

Fields

§mem: u32
§

I32Const

Fields

§value: i32
§

I64Const

Fields

§value: i64
§

F32Const

Fields

§value: Ieee32
§

F64Const

Fields

§value: Ieee64
§

I32Eqz

§

I32Eq

§

I32Ne

§

I32LtS

§

I32LtU

§

I32GtS

§

I32GtU

§

I32LeS

§

I32LeU

§

I32GeS

§

I32GeU

§

I64Eqz

§

I64Eq

§

I64Ne

§

I64LtS

§

I64LtU

§

I64GtS

§

I64GtU

§

I64LeS

§

I64LeU

§

I64GeS

§

I64GeU

§

F32Eq

§

F32Ne

§

F32Lt

§

F32Gt

§

F32Le

§

F32Ge

§

F64Eq

§

F64Ne

§

F64Lt

§

F64Gt

§

F64Le

§

F64Ge

§

I32Clz

§

I32Ctz

§

I32Popcnt

§

I32Add

§

I32Sub

§

I32Mul

§

I32DivS

§

I32DivU

§

I32RemS

§

I32RemU

§

I32And

§

I32Or

§

I32Xor

§

I32Shl

§

I32ShrS

§

I32ShrU

§

I32Rotl

§

I32Rotr

§

I64Clz

§

I64Ctz

§

I64Popcnt

§

I64Add

§

I64Sub

§

I64Mul

§

I64DivS

§

I64DivU

§

I64RemS

§

I64RemU

§

I64And

§

I64Or

§

I64Xor

§

I64Shl

§

I64ShrS

§

I64ShrU

§

I64Rotl

§

I64Rotr

§

F32Abs

§

F32Neg

§

F32Ceil

§

F32Floor

§

F32Trunc

§

F32Nearest

§

F32Sqrt

§

F32Add

§

F32Sub

§

F32Mul

§

F32Div

§

F32Min

§

F32Max

§

F32Copysign

§

F64Abs

§

F64Neg

§

F64Ceil

§

F64Floor

§

F64Trunc

§

F64Nearest

§

F64Sqrt

§

F64Add

§

F64Sub

§

F64Mul

§

F64Div

§

F64Min

§

F64Max

§

F64Copysign

§

I32WrapI64

§

I32TruncF32S

§

I32TruncF32U

§

I32TruncF64S

§

I32TruncF64U

§

I64ExtendI32S

§

I64ExtendI32U

§

I64TruncF32S

§

I64TruncF32U

§

I64TruncF64S

§

I64TruncF64U

§

F32ConvertI32S

§

F32ConvertI32U

§

F32ConvertI64S

§

F32ConvertI64U

§

F32DemoteF64

§

F64ConvertI32S

§

F64ConvertI32U

§

F64ConvertI64S

§

F64ConvertI64U

§

F64PromoteF32

§

I32ReinterpretF32

§

I64ReinterpretF64

§

F32ReinterpretI32

§

F64ReinterpretI64

§

I32Extend8S

§

I32Extend16S

§

I64Extend8S

§

I64Extend16S

§

I64Extend32S

§

RefEq

§

StructNew

Fields

§struct_type_index: u32
§

StructNewDefault

Fields

§struct_type_index: u32
§

StructGet

Fields

§struct_type_index: u32
§field_index: u32
§

StructGetS

Fields

§struct_type_index: u32
§field_index: u32
§

StructGetU

Fields

§struct_type_index: u32
§field_index: u32
§

StructSet

Fields

§struct_type_index: u32
§field_index: u32
§

ArrayNew

Fields

§array_type_index: u32
§

ArrayNewDefault

Fields

§array_type_index: u32
§

ArrayNewFixed

Fields

§array_type_index: u32
§array_size: u32
§

ArrayNewData

Fields

§array_type_index: u32
§array_data_index: u32
§

ArrayNewElem

Fields

§array_type_index: u32
§array_elem_index: u32
§

ArrayGet

Fields

§array_type_index: u32
§

ArrayGetS

Fields

§array_type_index: u32
§

ArrayGetU

Fields

§array_type_index: u32
§

ArraySet

Fields

§array_type_index: u32
§

ArrayLen

§

ArrayFill

Fields

§array_type_index: u32
§

ArrayCopy

Fields

§array_type_index_dst: u32
§array_type_index_src: u32
§

ArrayInitData

Fields

§array_type_index: u32
§array_data_index: u32
§

ArrayInitElem

Fields

§array_type_index: u32
§array_elem_index: u32
§

RefTestNonNull

Fields

§

RefTestNullable

Fields

§

RefCastNonNull

Fields

§

RefCastNullable

Fields

§

BrOnCast

Fields

§relative_depth: u32
§from_ref_type: RefType
§to_ref_type: RefType
§

BrOnCastFail

Fields

§relative_depth: u32
§from_ref_type: RefType
§to_ref_type: RefType
§

AnyConvertExtern

§

ExternConvertAny

§

RefI31

§

I31GetS

§

I31GetU

§

I32TruncSatF32S

§

I32TruncSatF32U

§

I32TruncSatF64S

§

I32TruncSatF64U

§

I64TruncSatF32S

§

I64TruncSatF32U

§

I64TruncSatF64S

§

I64TruncSatF64U

§

MemoryInit

Fields

§data_index: u32
§mem: u32
§

DataDrop

Fields

§data_index: u32
§

MemoryCopy

Fields

§dst_mem: u32
§src_mem: u32
§

MemoryFill

Fields

§mem: u32
§

TableInit

Fields

§elem_index: u32
§table: u32
§

ElemDrop

Fields

§elem_index: u32
§

TableCopy

Fields

§dst_table: u32
§src_table: u32
§

TypedSelect

Fields

§

RefNull

Fields

§

RefIsNull

§

RefFunc

Fields

§function_index: u32
§

TableFill

Fields

§table: u32
§

TableGet

Fields

§table: u32
§

TableSet

Fields

§table: u32
§

TableGrow

Fields

§table: u32
§

TableSize

Fields

§table: u32
§

ReturnCall

Fields

§function_index: u32
§

ReturnCallIndirect

Fields

§type_index: u32
§table_index: u32
§

MemoryDiscard

Fields

§mem: u32
§

MemoryAtomicNotify

Fields

§memarg: MemArg
§

MemoryAtomicWait32

Fields

§memarg: MemArg
§

MemoryAtomicWait64

Fields

§memarg: MemArg
§

AtomicFence

§

I32AtomicLoad

Fields

§memarg: MemArg
§

I64AtomicLoad

Fields

§memarg: MemArg
§

I32AtomicLoad8U

Fields

§memarg: MemArg
§

I32AtomicLoad16U

Fields

§memarg: MemArg
§

I64AtomicLoad8U

Fields

§memarg: MemArg
§

I64AtomicLoad16U

Fields

§memarg: MemArg
§

I64AtomicLoad32U

Fields

§memarg: MemArg
§

I32AtomicStore

Fields

§memarg: MemArg
§

I64AtomicStore

Fields

§memarg: MemArg
§

I32AtomicStore8

Fields

§memarg: MemArg
§

I32AtomicStore16

Fields

§memarg: MemArg
§

I64AtomicStore8

Fields

§memarg: MemArg
§

I64AtomicStore16

Fields

§memarg: MemArg
§

I64AtomicStore32

Fields

§memarg: MemArg
§

I32AtomicRmwAdd

Fields

§memarg: MemArg
§

I64AtomicRmwAdd

Fields

§memarg: MemArg
§

I32AtomicRmw8AddU

Fields

§memarg: MemArg
§

I32AtomicRmw16AddU

Fields

§memarg: MemArg
§

I64AtomicRmw8AddU

Fields

§memarg: MemArg
§

I64AtomicRmw16AddU

Fields

§memarg: MemArg
§

I64AtomicRmw32AddU

Fields

§memarg: MemArg
§

I32AtomicRmwSub

Fields

§memarg: MemArg
§

I64AtomicRmwSub

Fields

§memarg: MemArg
§

I32AtomicRmw8SubU

Fields

§memarg: MemArg
§

I32AtomicRmw16SubU

Fields

§memarg: MemArg
§

I64AtomicRmw8SubU

Fields

§memarg: MemArg
§

I64AtomicRmw16SubU

Fields

§memarg: MemArg
§

I64AtomicRmw32SubU

Fields

§memarg: MemArg
§

I32AtomicRmwAnd

Fields

§memarg: MemArg
§

I64AtomicRmwAnd

Fields

§memarg: MemArg
§

I32AtomicRmw8AndU

Fields

§memarg: MemArg
§

I32AtomicRmw16AndU

Fields

§memarg: MemArg
§

I64AtomicRmw8AndU

Fields

§memarg: MemArg
§

I64AtomicRmw16AndU

Fields

§memarg: MemArg
§

I64AtomicRmw32AndU

Fields

§memarg: MemArg
§

I32AtomicRmwOr

Fields

§memarg: MemArg
§

I64AtomicRmwOr

Fields

§memarg: MemArg
§

I32AtomicRmw8OrU

Fields

§memarg: MemArg
§

I32AtomicRmw16OrU

Fields

§memarg: MemArg
§

I64AtomicRmw8OrU

Fields

§memarg: MemArg
§

I64AtomicRmw16OrU

Fields

§memarg: MemArg
§

I64AtomicRmw32OrU

Fields

§memarg: MemArg
§

I32AtomicRmwXor

Fields

§memarg: MemArg
§

I64AtomicRmwXor

Fields

§memarg: MemArg
§

I32AtomicRmw8XorU

Fields

§memarg: MemArg
§

I32AtomicRmw16XorU

Fields

§memarg: MemArg
§

I64AtomicRmw8XorU

Fields

§memarg: MemArg
§

I64AtomicRmw16XorU

Fields

§memarg: MemArg
§

I64AtomicRmw32XorU

Fields

§memarg: MemArg
§

I32AtomicRmwXchg

Fields

§memarg: MemArg
§

I64AtomicRmwXchg

Fields

§memarg: MemArg
§

I32AtomicRmw8XchgU

Fields

§memarg: MemArg
§

I32AtomicRmw16XchgU

Fields

§memarg: MemArg
§

I64AtomicRmw8XchgU

Fields

§memarg: MemArg
§

I64AtomicRmw16XchgU

Fields

§memarg: MemArg
§

I64AtomicRmw32XchgU

Fields

§memarg: MemArg
§

I32AtomicRmwCmpxchg

Fields

§memarg: MemArg
§

I64AtomicRmwCmpxchg

Fields

§memarg: MemArg
§

I32AtomicRmw8CmpxchgU

Fields

§memarg: MemArg
§

I32AtomicRmw16CmpxchgU

Fields

§memarg: MemArg
§

I64AtomicRmw8CmpxchgU

Fields

§memarg: MemArg
§

I64AtomicRmw16CmpxchgU

Fields

§memarg: MemArg
§

I64AtomicRmw32CmpxchgU

Fields

§memarg: MemArg
§

TryTable

Fields

§try_table: TryTable
§

Throw

Fields

§tag_index: u32
§

ThrowRef

§

Try

Fields

§blockty: BlockType
§

Catch

Fields

§tag_index: u32
§

Rethrow

Fields

§relative_depth: u32
§

Delegate

Fields

§relative_depth: u32
§

CatchAll

§

GlobalAtomicGet

Fields

§ordering: Ordering
§global_index: u32
§

GlobalAtomicSet

Fields

§ordering: Ordering
§global_index: u32
§

GlobalAtomicRmwAdd

Fields

§ordering: Ordering
§global_index: u32
§

GlobalAtomicRmwSub

Fields

§ordering: Ordering
§global_index: u32
§

GlobalAtomicRmwAnd

Fields

§ordering: Ordering
§global_index: u32
§

GlobalAtomicRmwOr

Fields

§ordering: Ordering
§global_index: u32
§

GlobalAtomicRmwXor

Fields

§ordering: Ordering
§global_index: u32
§

GlobalAtomicRmwXchg

Fields

§ordering: Ordering
§global_index: u32
§

GlobalAtomicRmwCmpxchg

Fields

§ordering: Ordering
§global_index: u32
§

TableAtomicGet

Fields

§ordering: Ordering
§table_index: u32
§

TableAtomicSet

Fields

§ordering: Ordering
§table_index: u32
§

TableAtomicRmwXchg

Fields

§ordering: Ordering
§table_index: u32
§

TableAtomicRmwCmpxchg

Fields

§ordering: Ordering
§table_index: u32
§

StructAtomicGet

Fields

§ordering: Ordering
§struct_type_index: u32
§field_index: u32
§

StructAtomicGetS

Fields

§ordering: Ordering
§struct_type_index: u32
§field_index: u32
§

StructAtomicGetU

Fields

§ordering: Ordering
§struct_type_index: u32
§field_index: u32
§

StructAtomicSet

Fields

§ordering: Ordering
§struct_type_index: u32
§field_index: u32
§

StructAtomicRmwAdd

Fields

§ordering: Ordering
§struct_type_index: u32
§field_index: u32
§

StructAtomicRmwSub

Fields

§ordering: Ordering
§struct_type_index: u32
§field_index: u32
§

StructAtomicRmwAnd

Fields

§ordering: Ordering
§struct_type_index: u32
§field_index: u32
§

StructAtomicRmwOr

Fields

§ordering: Ordering
§struct_type_index: u32
§field_index: u32
§

StructAtomicRmwXor

Fields

§ordering: Ordering
§struct_type_index: u32
§field_index: u32
§

StructAtomicRmwXchg

Fields

§ordering: Ordering
§struct_type_index: u32
§field_index: u32
§

StructAtomicRmwCmpxchg

Fields

§ordering: Ordering
§struct_type_index: u32
§field_index: u32
§

ArrayAtomicGet

Fields

§ordering: Ordering
§array_type_index: u32
§

ArrayAtomicGetS

Fields

§ordering: Ordering
§array_type_index: u32
§

ArrayAtomicGetU

Fields

§ordering: Ordering
§array_type_index: u32
§

ArrayAtomicSet

Fields

§ordering: Ordering
§array_type_index: u32
§

ArrayAtomicRmwAdd

Fields

§ordering: Ordering
§array_type_index: u32
§

ArrayAtomicRmwSub

Fields

§ordering: Ordering
§array_type_index: u32
§

ArrayAtomicRmwAnd

Fields

§ordering: Ordering
§array_type_index: u32
§

ArrayAtomicRmwOr

Fields

§ordering: Ordering
§array_type_index: u32
§

ArrayAtomicRmwXor

Fields

§ordering: Ordering
§array_type_index: u32
§

ArrayAtomicRmwXchg

Fields

§ordering: Ordering
§array_type_index: u32
§

ArrayAtomicRmwCmpxchg

Fields

§ordering: Ordering
§array_type_index: u32
§

RefI31Shared

§

CallRef

Fields

§type_index: u32
§

ReturnCallRef

Fields

§type_index: u32
§

RefAsNonNull

§

BrOnNull

Fields

§relative_depth: u32
§

BrOnNonNull

Fields

§relative_depth: u32
§

ContNew

Fields

§cont_type_index: u32
§

ContBind

Fields

§argument_index: u32
§result_index: u32
§

Suspend

Fields

§tag_index: u32
§

Resume

Fields

§cont_type_index: u32
§resume_table: ResumeTable
§

ResumeThrow

Fields

§cont_type_index: u32
§tag_index: u32
§resume_table: ResumeTable
§

Switch

Fields

§cont_type_index: u32
§tag_index: u32
§

I64Add128

§

I64Sub128

§

I64MulWideS

§

I64MulWideU

Implementations§

source§

impl Operator<'_>

source

pub fn operator_arity(&self, module: &impl ModuleArity) -> Option<(u32, u32)>

Compute the arity (param and result counts) of the operator, given an impl ModuleArity, which stores the necessary module state.

Trait Implementations§

source§

impl<'a> Clone for Operator<'a>

source§

fn clone(&self) -> Operator<'a>

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl<'a> Debug for Operator<'a>

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl<'a> PartialEq for Operator<'a>

source§

fn eq(&self, other: &Operator<'a>) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl<'a> Eq for Operator<'a>

source§

impl<'a> StructuralPartialEq for Operator<'a>

Auto Trait Implementations§

§

impl<'a> Freeze for Operator<'a>

§

impl<'a> RefUnwindSafe for Operator<'a>

§

impl<'a> Send for Operator<'a>

§

impl<'a> Sync for Operator<'a>

§

impl<'a> Unpin for Operator<'a>

§

impl<'a> UnwindSafe for Operator<'a>

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> CloneToUninit for T
where T: Clone,

source§

unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

source§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

source§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.