Enum parity_wasm::elements::Opcode
[−]
[src]
pub enum Opcode {
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,
}Opcode
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)I32EqzI32EqI32NeI32LtSI32LtUI32GtSI32GtUI32LeSI32LeUI32GeSI32GeUI64EqzI64EqI64NeI64LtSI64LtUI64GtSI64GtUI64LeSI64LeUI64GeSI64GeUF32EqF32NeF32LtF32GtF32LeF32GeF64EqF64NeF64LtF64GtF64LeF64GeI32ClzI32CtzI32PopcntI32AddI32SubI32MulI32DivSI32DivUI32RemSI32RemUI32AndI32OrI32XorI32ShlI32ShrSI32ShrUI32RotlI32RotrI64ClzI64CtzI64PopcntI64AddI64SubI64MulI64DivSI64DivUI64RemSI64RemUI64AndI64OrI64XorI64ShlI64ShrSI64ShrUI64RotlI64RotrF32AbsF32NegF32CeilF32FloorF32TruncF32NearestF32SqrtF32AddF32SubF32MulF32DivF32MinF32MaxF32CopysignF64AbsF64NegF64CeilF64FloorF64TruncF64NearestF64SqrtF64AddF64SubF64MulF64DivF64MinF64MaxF64CopysignI32WrapI64I32TruncSF32I32TruncUF32I32TruncSF64I32TruncUF64I64ExtendSI32I64ExtendUI32I64TruncSF32I64TruncUF32I64TruncSF64I64TruncUF64F32ConvertSI32F32ConvertUI32F32ConvertSI64F32ConvertUI64F32DemoteF64F64ConvertSI32F64ConvertUI32F64ConvertSI64F64ConvertUI64F64PromoteF32I32ReinterpretF32I64ReinterpretF64F32ReinterpretI32F64ReinterpretI64
Methods
impl Opcode[src]
pub fn is_block(&self) -> bool[src]
Is this opcode starts the new block (which should end with terminal opcode).
pub fn is_terminal(&self) -> bool[src]
Is this opcode determines the termination of opcode sequence
true for Opcode::End
Trait Implementations
impl Clone for Opcode[src]
fn clone(&self) -> Opcode[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more
impl Debug for Opcode[src]
fn fmt(&self, __arg_0: &mut Formatter) -> Result[src]
Formats the value using the given formatter. Read more
impl PartialEq for Opcode[src]
fn eq(&self, __arg_0: &Opcode) -> bool[src]
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, __arg_0: &Opcode) -> bool[src]
This method tests for !=.
impl Deserialize for Opcode[src]
type Error = Error
Serialization error produced by deserialization routine.
fn deserialize<R: Read>(reader: &mut R) -> Result<Self, Self::Error>[src]
Deserialize type from serial i/o
impl Serialize for Opcode[src]
type Error = Error
Serialization error produced by serialization routine.
fn serialize<W: Write>(self, writer: &mut W) -> Result<(), Self::Error>[src]
Serialize type to serial i/o