Enum parity_wasm::elements::Instruction

source ·
pub enum Instruction {
Show 172 variants Unreachable, Nop, Block(BlockType), Loop(BlockType), If(BlockType), Else, End, Br(u32), BrIf(u32), BrTable(Box<BrTableData>), Return, Call(u32), CallIndirect(u32, u8), Drop, Select, GetLocal(u32), SetLocal(u32), TeeLocal(u32), GetGlobal(u32), SetGlobal(u32), I32Load(u32, u32), I64Load(u32, u32), F32Load(u32, u32), F64Load(u32, u32), I32Load8S(u32, u32), I32Load8U(u32, u32), I32Load16S(u32, u32), I32Load16U(u32, u32), I64Load8S(u32, u32), I64Load8U(u32, u32), I64Load16S(u32, u32), I64Load16U(u32, u32), I64Load32S(u32, u32), I64Load32U(u32, u32), I32Store(u32, u32), I64Store(u32, u32), F32Store(u32, u32), F64Store(u32, u32), I32Store8(u32, u32), I32Store16(u32, u32), I64Store8(u32, u32), I64Store16(u32, u32), I64Store32(u32, u32), CurrentMemory(u8), GrowMemory(u8), I32Const(i32), I64Const(i64), F32Const(u32), F64Const(u64), 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,
}
Expand description

Instruction.

Variants§

§

Unreachable

§

Nop

§

Block(BlockType)

§

Loop(BlockType)

§

If(BlockType)

§

Else

§

End

§

Br(u32)

§

BrIf(u32)

§

BrTable(Box<BrTableData>)

§

Return

§

Call(u32)

§

CallIndirect(u32, u8)

§

Drop

§

Select

§

GetLocal(u32)

§

SetLocal(u32)

§

TeeLocal(u32)

§

GetGlobal(u32)

§

SetGlobal(u32)

§

I32Load(u32, u32)

§

I64Load(u32, u32)

§

F32Load(u32, u32)

§

F64Load(u32, u32)

§

I32Load8S(u32, u32)

§

I32Load8U(u32, u32)

§

I32Load16S(u32, u32)

§

I32Load16U(u32, u32)

§

I64Load8S(u32, u32)

§

I64Load8U(u32, u32)

§

I64Load16S(u32, u32)

§

I64Load16U(u32, u32)

§

I64Load32S(u32, u32)

§

I64Load32U(u32, u32)

§

I32Store(u32, u32)

§

I64Store(u32, u32)

§

F32Store(u32, u32)

§

F64Store(u32, u32)

§

I32Store8(u32, u32)

§

I32Store16(u32, u32)

§

I64Store8(u32, u32)

§

I64Store16(u32, u32)

§

I64Store32(u32, u32)

§

CurrentMemory(u8)

§

GrowMemory(u8)

§

I32Const(i32)

§

I64Const(i64)

§

F32Const(u32)

§

F64Const(u64)

§

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

Implementations§

source§

impl Instruction

source

pub fn is_block(&self) -> bool

Is this instruction starts the new block (which should end with terminal instruction).

source

pub fn is_terminal(&self) -> bool

Is this instruction determines the termination of instruction sequence?

true for Instruction::End

Trait Implementations§

source§

impl Clone for Instruction

source§

fn clone(&self) -> Instruction

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 Debug for Instruction

source§

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

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

impl Deserialize for Instruction

§

type Error = Error

Serialization error produced by deserialization routine.
source§

fn deserialize<R: Read>(reader: &mut R) -> Result<Self, Self::Error>

Deserialize type from serial i/o
source§

impl Display for Instruction

source§

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

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

impl Hash for Instruction

source§

fn hash<__H: Hasher>(&self, state: &mut __H)

Feeds this value into the given Hasher. Read more
1.3.0 · source§

fn hash_slice<H>(data: &[Self], state: &mut H)
where H: Hasher, Self: Sized,

Feeds a slice of this type into the given Hasher. Read more
source§

impl PartialEq for Instruction

source§

fn eq(&self, other: &Instruction) -> bool

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

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

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

impl Serialize for Instruction

§

type Error = Error

Serialization error produced by serialization routine.
source§

fn serialize<W: Write>(self, writer: &mut W) -> Result<(), Self::Error>

Serialize type to serial i/o
source§

impl Eq for Instruction

source§

impl StructuralPartialEq for Instruction

Auto Trait Implementations§

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§

default 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,

§

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> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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>,

§

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.