Enum wasmparser::Operator

source ·
pub enum Operator<'a> {
Show 253 variants Unreachable, Nop, Block { ty: Type, }, Loop { ty: Type, }, If { ty: Type, }, Else, End, Br { relative_depth: u32, }, BrIf { relative_depth: u32, }, BrTable { table: BrTable<'a>, }, Return, Call { function_index: u32, }, CallIndirect { index: u32, table_index: u32, }, Drop, Select, GetLocal { local_index: u32, }, SetLocal { local_index: u32, }, TeeLocal { local_index: u32, }, GetGlobal { global_index: u32, }, SetGlobal { global_index: u32, }, I32Load { memarg: MemoryImmediate, }, I64Load { memarg: MemoryImmediate, }, F32Load { memarg: MemoryImmediate, }, F64Load { memarg: MemoryImmediate, }, I32Load8S { memarg: MemoryImmediate, }, I32Load8U { memarg: MemoryImmediate, }, I32Load16S { memarg: MemoryImmediate, }, I32Load16U { memarg: MemoryImmediate, }, I64Load8S { memarg: MemoryImmediate, }, I64Load8U { memarg: MemoryImmediate, }, I64Load16S { memarg: MemoryImmediate, }, I64Load16U { memarg: MemoryImmediate, }, I64Load32S { memarg: MemoryImmediate, }, I64Load32U { memarg: MemoryImmediate, }, I32Store { memarg: MemoryImmediate, }, I64Store { memarg: MemoryImmediate, }, F32Store { memarg: MemoryImmediate, }, F64Store { memarg: MemoryImmediate, }, I32Store8 { memarg: MemoryImmediate, }, I32Store16 { memarg: MemoryImmediate, }, I64Store8 { memarg: MemoryImmediate, }, I64Store16 { memarg: MemoryImmediate, }, I64Store32 { memarg: MemoryImmediate, }, MemorySize { reserved: u32, }, MemoryGrow { reserved: u32, }, I32Const { value: i32, }, I64Const { value: i64, }, F32Const { value: Ieee32, }, F64Const { value: Ieee64, }, RefNull, RefIsNull, 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, I32TruncSF32, I32TruncUF32, I32TruncSF64, I32TruncUF64, I64ExtendSI32, I64ExtendUI32, I64TruncSF32, I64TruncUF32, I64TruncSF64, I64TruncUF64, F32ConvertSI32, F32ConvertUI32, F32ConvertSI64, F32ConvertUI64, F32DemoteF64, F64ConvertSI32, F64ConvertUI32, F64ConvertSI64, F64ConvertUI64, F64PromoteF32, I32ReinterpretF32, I64ReinterpretF64, F32ReinterpretI32, F64ReinterpretI64, I32Extend8S, I32Extend16S, I64Extend8S, I64Extend16S, I64Extend32S, I32TruncSSatF32, I32TruncUSatF32, I32TruncSSatF64, I32TruncUSatF64, I64TruncSSatF32, I64TruncUSatF32, I64TruncSSatF64, I64TruncUSatF64, Wake { memarg: MemoryImmediate, }, I32Wait { memarg: MemoryImmediate, }, I64Wait { memarg: MemoryImmediate, }, I32AtomicLoad { memarg: MemoryImmediate, }, I64AtomicLoad { memarg: MemoryImmediate, }, I32AtomicLoad8U { memarg: MemoryImmediate, }, I32AtomicLoad16U { memarg: MemoryImmediate, }, I64AtomicLoad8U { memarg: MemoryImmediate, }, I64AtomicLoad16U { memarg: MemoryImmediate, }, I64AtomicLoad32U { memarg: MemoryImmediate, }, I32AtomicStore { memarg: MemoryImmediate, }, I64AtomicStore { memarg: MemoryImmediate, }, I32AtomicStore8 { memarg: MemoryImmediate, }, I32AtomicStore16 { memarg: MemoryImmediate, }, I64AtomicStore8 { memarg: MemoryImmediate, }, I64AtomicStore16 { memarg: MemoryImmediate, }, I64AtomicStore32 { memarg: MemoryImmediate, }, I32AtomicRmwAdd { memarg: MemoryImmediate, }, I64AtomicRmwAdd { memarg: MemoryImmediate, }, I32AtomicRmw8UAdd { memarg: MemoryImmediate, }, I32AtomicRmw16UAdd { memarg: MemoryImmediate, }, I64AtomicRmw8UAdd { memarg: MemoryImmediate, }, I64AtomicRmw16UAdd { memarg: MemoryImmediate, }, I64AtomicRmw32UAdd { memarg: MemoryImmediate, }, I32AtomicRmwSub { memarg: MemoryImmediate, }, I64AtomicRmwSub { memarg: MemoryImmediate, }, I32AtomicRmw8USub { memarg: MemoryImmediate, }, I32AtomicRmw16USub { memarg: MemoryImmediate, }, I64AtomicRmw8USub { memarg: MemoryImmediate, }, I64AtomicRmw16USub { memarg: MemoryImmediate, }, I64AtomicRmw32USub { memarg: MemoryImmediate, }, I32AtomicRmwAnd { memarg: MemoryImmediate, }, I64AtomicRmwAnd { memarg: MemoryImmediate, }, I32AtomicRmw8UAnd { memarg: MemoryImmediate, }, I32AtomicRmw16UAnd { memarg: MemoryImmediate, }, I64AtomicRmw8UAnd { memarg: MemoryImmediate, }, I64AtomicRmw16UAnd { memarg: MemoryImmediate, }, I64AtomicRmw32UAnd { memarg: MemoryImmediate, }, I32AtomicRmwOr { memarg: MemoryImmediate, }, I64AtomicRmwOr { memarg: MemoryImmediate, }, I32AtomicRmw8UOr { memarg: MemoryImmediate, }, I32AtomicRmw16UOr { memarg: MemoryImmediate, }, I64AtomicRmw8UOr { memarg: MemoryImmediate, }, I64AtomicRmw16UOr { memarg: MemoryImmediate, }, I64AtomicRmw32UOr { memarg: MemoryImmediate, }, I32AtomicRmwXor { memarg: MemoryImmediate, }, I64AtomicRmwXor { memarg: MemoryImmediate, }, I32AtomicRmw8UXor { memarg: MemoryImmediate, }, I32AtomicRmw16UXor { memarg: MemoryImmediate, }, I64AtomicRmw8UXor { memarg: MemoryImmediate, }, I64AtomicRmw16UXor { memarg: MemoryImmediate, }, I64AtomicRmw32UXor { memarg: MemoryImmediate, }, I32AtomicRmwXchg { memarg: MemoryImmediate, }, I64AtomicRmwXchg { memarg: MemoryImmediate, }, I32AtomicRmw8UXchg { memarg: MemoryImmediate, }, I32AtomicRmw16UXchg { memarg: MemoryImmediate, }, I64AtomicRmw8UXchg { memarg: MemoryImmediate, }, I64AtomicRmw16UXchg { memarg: MemoryImmediate, }, I64AtomicRmw32UXchg { memarg: MemoryImmediate, }, I32AtomicRmwCmpxchg { memarg: MemoryImmediate, }, I64AtomicRmwCmpxchg { memarg: MemoryImmediate, }, I32AtomicRmw8UCmpxchg { memarg: MemoryImmediate, }, I32AtomicRmw16UCmpxchg { memarg: MemoryImmediate, }, I64AtomicRmw8UCmpxchg { memarg: MemoryImmediate, }, I64AtomicRmw16UCmpxchg { memarg: MemoryImmediate, }, I64AtomicRmw32UCmpxchg { memarg: MemoryImmediate, },
}
Expand description

Instructions as defined here.

Variants

Unreachable

Nop

Block

Fields

ty: Type

Loop

Fields

ty: Type

If

Fields

ty: Type

Else

End

Br

Fields

relative_depth: u32

BrIf

Fields

relative_depth: u32

BrTable

Fields

table: BrTable<'a>

Return

Call

Fields

function_index: u32

CallIndirect

Fields

index: u32
table_index: u32

Drop

Select

GetLocal

Fields

local_index: u32

SetLocal

Fields

local_index: u32

TeeLocal

Fields

local_index: u32

GetGlobal

Fields

global_index: u32

SetGlobal

Fields

global_index: u32

I32Load

Fields

I64Load

Fields

F32Load

Fields

F64Load

Fields

I32Load8S

Fields

I32Load8U

Fields

I32Load16S

Fields

I32Load16U

Fields

I64Load8S

Fields

I64Load8U

Fields

I64Load16S

Fields

I64Load16U

Fields

I64Load32S

Fields

I64Load32U

Fields

I32Store

Fields

I64Store

Fields

F32Store

Fields

F64Store

Fields

I32Store8

Fields

I32Store16

Fields

I64Store8

Fields

I64Store16

Fields

I64Store32

Fields

MemorySize

Fields

reserved: u32

MemoryGrow

Fields

reserved: u32

I32Const

Fields

value: i32

I64Const

Fields

value: i64

F32Const

Fields

value: Ieee32

F64Const

Fields

value: Ieee64

RefNull

RefIsNull

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

I32TruncSF32

I32TruncUF32

I32TruncSF64

I32TruncUF64

I64ExtendSI32

I64ExtendUI32

I64TruncSF32

I64TruncUF32

I64TruncSF64

I64TruncUF64

F32ConvertSI32

F32ConvertUI32

F32ConvertSI64

F32ConvertUI64

F32DemoteF64

F64ConvertSI32

F64ConvertUI32

F64ConvertSI64

F64ConvertUI64

F64PromoteF32

I32ReinterpretF32

I64ReinterpretF64

F32ReinterpretI32

F64ReinterpretI64

I32Extend8S

I32Extend16S

I64Extend8S

I64Extend16S

I64Extend32S

I32TruncSSatF32

I32TruncUSatF32

I32TruncSSatF64

I32TruncUSatF64

I64TruncSSatF32

I64TruncUSatF32

I64TruncSSatF64

I64TruncUSatF64

Wake

Fields

I32Wait

Fields

I64Wait

Fields

I32AtomicLoad

Fields

I64AtomicLoad

Fields

I32AtomicLoad8U

Fields

I32AtomicLoad16U

Fields

I64AtomicLoad8U

Fields

I64AtomicLoad16U

Fields

I64AtomicLoad32U

Fields

I32AtomicStore

Fields

I64AtomicStore

Fields

I32AtomicStore8

Fields

I32AtomicStore16

Fields

I64AtomicStore8

Fields

I64AtomicStore16

Fields

I64AtomicStore32

Fields

I32AtomicRmwAdd

Fields

I64AtomicRmwAdd

Fields

I32AtomicRmw8UAdd

Fields

I32AtomicRmw16UAdd

Fields

I64AtomicRmw8UAdd

Fields

I64AtomicRmw16UAdd

Fields

I64AtomicRmw32UAdd

Fields

I32AtomicRmwSub

Fields

I64AtomicRmwSub

Fields

I32AtomicRmw8USub

Fields

I32AtomicRmw16USub

Fields

I64AtomicRmw8USub

Fields

I64AtomicRmw16USub

Fields

I64AtomicRmw32USub

Fields

I32AtomicRmwAnd

Fields

I64AtomicRmwAnd

Fields

I32AtomicRmw8UAnd

Fields

I32AtomicRmw16UAnd

Fields

I64AtomicRmw8UAnd

Fields

I64AtomicRmw16UAnd

Fields

I64AtomicRmw32UAnd

Fields

I32AtomicRmwOr

Fields

I64AtomicRmwOr

Fields

I32AtomicRmw8UOr

Fields

I32AtomicRmw16UOr

Fields

I64AtomicRmw8UOr

Fields

I64AtomicRmw16UOr

Fields

I64AtomicRmw32UOr

Fields

I32AtomicRmwXor

Fields

I64AtomicRmwXor

Fields

I32AtomicRmw8UXor

Fields

I32AtomicRmw16UXor

Fields

I64AtomicRmw8UXor

Fields

I64AtomicRmw16UXor

Fields

I64AtomicRmw32UXor

Fields

I32AtomicRmwXchg

Fields

I64AtomicRmwXchg

Fields

I32AtomicRmw8UXchg

Fields

I32AtomicRmw16UXchg

Fields

I64AtomicRmw8UXchg

Fields

I64AtomicRmw16UXchg

Fields

I64AtomicRmw32UXchg

Fields

I32AtomicRmwCmpxchg

Fields

I64AtomicRmwCmpxchg

Fields

I32AtomicRmw8UCmpxchg

Fields

I32AtomicRmw16UCmpxchg

Fields

I64AtomicRmw8UCmpxchg

Fields

I64AtomicRmw16UCmpxchg

Fields

I64AtomicRmw32UCmpxchg

Fields

Trait Implementations

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.