Enum parity_wasm::elements::Instruction [−][src]
pub enum Instruction {
Unreachable,
Nop,
Block(BlockType),
Loop(BlockType),
If(BlockType),
Else,
End,
Br(u32),
BrIf(u32),
BrTable(Box<[u32]>, u32),
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,
AtomicWake(MemArg),
I32AtomicWait(MemArg),
I64AtomicWait(MemArg),
I32AtomicLoad(MemArg),
I64AtomicLoad(MemArg),
I32AtomicLoad8u(MemArg),
I32AtomicLoad16u(MemArg),
I64AtomicLoad8u(MemArg),
I64AtomicLoad16u(MemArg),
I64AtomicLoad32u(MemArg),
I32AtomicStore(MemArg),
I64AtomicStore(MemArg),
I32AtomicStore8u(MemArg),
I32AtomicStore16u(MemArg),
I64AtomicStore8u(MemArg),
I64AtomicStore16u(MemArg),
I64AtomicStore32u(MemArg),
I32AtomicRmwAdd(MemArg),
I64AtomicRmwAdd(MemArg),
I32AtomicRmwAdd8u(MemArg),
I32AtomicRmwAdd16u(MemArg),
I64AtomicRmwAdd8u(MemArg),
I64AtomicRmwAdd16u(MemArg),
I64AtomicRmwAdd32u(MemArg),
I32AtomicRmwSub(MemArg),
I64AtomicRmwSub(MemArg),
I32AtomicRmwSub8u(MemArg),
I32AtomicRmwSub16u(MemArg),
I64AtomicRmwSub8u(MemArg),
I64AtomicRmwSub16u(MemArg),
I64AtomicRmwSub32u(MemArg),
I32AtomicRmwAnd(MemArg),
I64AtomicRmwAnd(MemArg),
I32AtomicRmwAnd8u(MemArg),
I32AtomicRmwAnd16u(MemArg),
I64AtomicRmwAnd8u(MemArg),
I64AtomicRmwAnd16u(MemArg),
I64AtomicRmwAnd32u(MemArg),
I32AtomicRmwOr(MemArg),
I64AtomicRmwOr(MemArg),
I32AtomicRmwOr8u(MemArg),
I32AtomicRmwOr16u(MemArg),
I64AtomicRmwOr8u(MemArg),
I64AtomicRmwOr16u(MemArg),
I64AtomicRmwOr32u(MemArg),
I32AtomicRmwXor(MemArg),
I64AtomicRmwXor(MemArg),
I32AtomicRmwXor8u(MemArg),
I32AtomicRmwXor16u(MemArg),
I64AtomicRmwXor8u(MemArg),
I64AtomicRmwXor16u(MemArg),
I64AtomicRmwXor32u(MemArg),
I32AtomicRmwXchg(MemArg),
I64AtomicRmwXchg(MemArg),
I32AtomicRmwXchg8u(MemArg),
I32AtomicRmwXchg16u(MemArg),
I64AtomicRmwXchg8u(MemArg),
I64AtomicRmwXchg16u(MemArg),
I64AtomicRmwXchg32u(MemArg),
I32AtomicRmwCmpxchg(MemArg),
I64AtomicRmwCmpxchg(MemArg),
I32AtomicRmwCmpxchg8u(MemArg),
I32AtomicRmwCmpxchg16u(MemArg),
I64AtomicRmwCmpxchg8u(MemArg),
I64AtomicRmwCmpxchg16u(MemArg),
I64AtomicRmwCmpxchg32u(MemArg),
}Instruction
Variants
UnreachableNopBlock(BlockType)Loop(BlockType)If(BlockType)ElseEndBr(u32)BrIf(u32)BrTable(Box<[u32]>, u32)ReturnCall(u32)CallIndirect(u32, u8)DropSelectGetLocal(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)I32EqzI32EqI32NeI32LtSI32LtUI32GtSI32GtUI32LeSI32LeUI32GeSI32GeUI64EqzI64EqI64NeI64LtSI64LtUI64GtSI64GtUI64LeSI64LeUI64GeSI64GeUF32EqF32NeF32LtF32GtF32LeF32GeF64EqF64NeF64LtF64GtF64LeF64GeI32ClzI32CtzI32PopcntI32AddI32SubI32MulI32DivSI32DivUI32RemSI32RemUI32AndI32OrI32XorI32ShlI32ShrSI32ShrUI32RotlI32RotrI64ClzI64CtzI64PopcntI64AddI64SubI64MulI64DivSI64DivUI64RemSI64RemUI64AndI64OrI64XorI64ShlI64ShrSI64ShrUI64RotlI64RotrF32AbsF32NegF32CeilF32FloorF32TruncF32NearestF32SqrtF32AddF32SubF32MulF32DivF32MinF32MaxF32CopysignF64AbsF64NegF64CeilF64FloorF64TruncF64NearestF64SqrtF64AddF64SubF64MulF64DivF64MinF64MaxF64CopysignI32WrapI64I32TruncSF32I32TruncUF32I32TruncSF64I32TruncUF64I64ExtendSI32I64ExtendUI32I64TruncSF32I64TruncUF32I64TruncSF64I64TruncUF64F32ConvertSI32F32ConvertUI32F32ConvertSI64F32ConvertUI64F32DemoteF64F64ConvertSI32F64ConvertUI32F64ConvertSI64F64ConvertUI64F64PromoteF32I32ReinterpretF32I64ReinterpretF64F32ReinterpretI32F64ReinterpretI64AtomicWake(MemArg)I32AtomicWait(MemArg)I64AtomicWait(MemArg)I32AtomicLoad(MemArg)I64AtomicLoad(MemArg)I32AtomicLoad8u(MemArg)I32AtomicLoad16u(MemArg)I64AtomicLoad8u(MemArg)I64AtomicLoad16u(MemArg)I64AtomicLoad32u(MemArg)I32AtomicStore(MemArg)I64AtomicStore(MemArg)I32AtomicStore8u(MemArg)I32AtomicStore16u(MemArg)I64AtomicStore8u(MemArg)I64AtomicStore16u(MemArg)I64AtomicStore32u(MemArg)I32AtomicRmwAdd(MemArg)I64AtomicRmwAdd(MemArg)I32AtomicRmwAdd8u(MemArg)I32AtomicRmwAdd16u(MemArg)I64AtomicRmwAdd8u(MemArg)I64AtomicRmwAdd16u(MemArg)I64AtomicRmwAdd32u(MemArg)I32AtomicRmwSub(MemArg)I64AtomicRmwSub(MemArg)I32AtomicRmwSub8u(MemArg)I32AtomicRmwSub16u(MemArg)I64AtomicRmwSub8u(MemArg)I64AtomicRmwSub16u(MemArg)I64AtomicRmwSub32u(MemArg)I32AtomicRmwAnd(MemArg)I64AtomicRmwAnd(MemArg)I32AtomicRmwAnd8u(MemArg)I32AtomicRmwAnd16u(MemArg)I64AtomicRmwAnd8u(MemArg)I64AtomicRmwAnd16u(MemArg)I64AtomicRmwAnd32u(MemArg)I32AtomicRmwOr(MemArg)I64AtomicRmwOr(MemArg)I32AtomicRmwOr8u(MemArg)I32AtomicRmwOr16u(MemArg)I64AtomicRmwOr8u(MemArg)I64AtomicRmwOr16u(MemArg)I64AtomicRmwOr32u(MemArg)I32AtomicRmwXor(MemArg)I64AtomicRmwXor(MemArg)I32AtomicRmwXor8u(MemArg)I32AtomicRmwXor16u(MemArg)I64AtomicRmwXor8u(MemArg)I64AtomicRmwXor16u(MemArg)I64AtomicRmwXor32u(MemArg)I32AtomicRmwXchg(MemArg)I64AtomicRmwXchg(MemArg)I32AtomicRmwXchg8u(MemArg)I32AtomicRmwXchg16u(MemArg)I64AtomicRmwXchg8u(MemArg)I64AtomicRmwXchg16u(MemArg)I64AtomicRmwXchg32u(MemArg)I32AtomicRmwCmpxchg(MemArg)I64AtomicRmwCmpxchg(MemArg)I32AtomicRmwCmpxchg8u(MemArg)I32AtomicRmwCmpxchg16u(MemArg)I64AtomicRmwCmpxchg8u(MemArg)I64AtomicRmwCmpxchg16u(MemArg)I64AtomicRmwCmpxchg32u(MemArg)
Methods
impl Instruction[src]
impl Instructionpub fn is_block(&self) -> bool[src]
pub fn is_block(&self) -> boolIs this instruction starts the new block (which should end with terminal instruction).
pub fn is_terminal(&self) -> bool[src]
pub fn is_terminal(&self) -> boolIs this instruction determines the termination of instruction sequence
true for Instruction::End
Trait Implementations
impl Clone for Instruction[src]
impl Clone for Instructionfn clone(&self) -> Instruction[src]
fn clone(&self) -> InstructionReturns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
fn clone_from(&mut self, source: &Self)1.0.0
[src]Performs copy-assignment from source. Read more
impl Debug for Instruction[src]
impl Debug for Instructionfn fmt(&self, f: &mut Formatter) -> Result[src]
fn fmt(&self, f: &mut Formatter) -> ResultFormats the value using the given formatter. Read more
impl PartialEq for Instruction[src]
impl PartialEq for Instructionfn eq(&self, other: &Instruction) -> bool[src]
fn eq(&self, other: &Instruction) -> boolThis method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, other: &Instruction) -> bool[src]
fn ne(&self, other: &Instruction) -> boolThis method tests for !=.
impl Deserialize for Instruction[src]
impl Deserialize for Instructiontype Error = Error
Serialization error produced by deserialization routine.
fn deserialize<R: Read>(reader: &mut R) -> Result<Self, Self::Error>[src]
fn deserialize<R: Read>(reader: &mut R) -> Result<Self, Self::Error>Deserialize type from serial i/o
impl Serialize for Instruction[src]
impl Serialize for Instructiontype Error = Error
Serialization error produced by serialization routine.
fn serialize<W: Write>(self, writer: &mut W) -> Result<(), Self::Error>[src]
fn serialize<W: Write>(self, writer: &mut W) -> Result<(), Self::Error>Serialize type to serial i/o
impl Display for Instruction[src]
impl Display for InstructionAuto Trait Implementations
impl Send for Instruction
impl Send for Instructionimpl Sync for Instruction
impl Sync for Instruction