Enum parity_wasm::elements::Opcode
[−]
[src]
pub enum Opcode {
Unreachable,
Nop,
Block(BlockType, Opcodes),
Loop(BlockType, Opcodes),
If(BlockType, Opcodes),
Else,
End,
Br(u32),
BrIf(u32),
BrTable(Vec<u32>, u32),
Return,
Call(u32),
CallIndirect(u32, bool),
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(bool),
GrowMemory(bool),
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,
I32ShlS,
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,
I32WarpI64,
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, Opcodes)Loop(BlockType, Opcodes)If(BlockType, Opcodes)ElseEndBr(u32)BrIf(u32)BrTable(Vec<u32>, u32)ReturnCall(u32)CallIndirect(u32, bool)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(bool)GrowMemory(bool)I32Const(i32)I64Const(i64)F32Const(u32)F64Const(u64)I32EqzI32EqI32NeI32LtSI32LtUI32GtSI32GtUI32LeSI32LeUI32GeSI32GeUI64EqzI64EqI64NeI64LtSI64LtUI64GtSI64GtUI64LeSI64LeUI64GeSI64GeUF32EqF32NeF32LtF32GtF32LeF32GeF64EqF64NeF64LtF64GtF64LeF64GeI32ClzI32CtzI32PopcntI32AddI32SubI32MulI32DivSI32DivUI32RemSI32RemUI32AndI32OrI32XorI32ShlI32ShlSI32ShrUI32RotlI32RotrI64ClzI64CtzI64PopcntI64AddI64SubI64MulI64DivSI64DivUI64RemSI64RemUI64AndI64OrI64XorI64ShlI64ShrSI64ShrUI64RotlI64RotrF32AbsF32NegF32CeilF32FloorF32TruncF32NearestF32SqrtF32AddF32SubF32MulF32DivF32MinF32MaxF32CopysignF64AbsF64NegF64CeilF64FloorF64TruncF64NearestF64SqrtF64AddF64SubF64MulF64DivF64MinF64MaxF64CopysignI32WarpI64I32TruncSF32I32TruncUF32I32TruncSF64I32TruncUF64I64ExtendSI32I64ExtendUI32I64TruncSF32I64TruncUF32I64TruncSF64I64TruncUF64F32ConvertSI32F32ConvertUI32F32ConvertSI64F32ConvertUI64F32DemoteF64F64ConvertSI32F64ConvertUI32F64ConvertSI64F64ConvertUI64F64PromoteF32I32ReinterpretF32I64ReinterpretF64F32ReinterpretI32F64ReinterpretI64Methods
impl Opcode[src]
fn is_terminal(&self) -> bool
Is this opcode determines the termination of opcode sequence
true for Opcode::End
Trait Implementations
impl Debug for Opcode[src]
impl PartialEq for Opcode[src]
fn eq(&self, __arg_0: &Opcode) -> bool
This method tests for self and other values to be equal, and is used by ==. Read more
fn ne(&self, __arg_0: &Opcode) -> bool
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>
Deserialize type from serial i/o