Enum wasmparser::Operator[][src]

pub enum Operator<'a> {
    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,
    },
}

Instructions as defined here.

Variants

Fields of Block

Fields of Loop

Fields of If

Fields of Br

Fields of BrIf

Fields of BrTable

Fields of Call

Fields of CallIndirect

Fields of GetLocal

Fields of SetLocal

Fields of TeeLocal

Fields of GetGlobal

Fields of SetGlobal

Fields of I32Load

Fields of I64Load

Fields of F32Load

Fields of F64Load

Fields of I32Load8S

Fields of I32Load8U

Fields of I32Load16S

Fields of I32Load16U

Fields of I64Load8S

Fields of I64Load8U

Fields of I64Load16S

Fields of I64Load16U

Fields of I64Load32S

Fields of I64Load32U

Fields of I32Store

Fields of I64Store

Fields of F32Store

Fields of F64Store

Fields of I32Store8

Fields of I32Store16

Fields of I64Store8

Fields of I64Store16

Fields of I64Store32

Fields of MemorySize

Fields of MemoryGrow

Fields of I32Const

Fields of I64Const

Fields of F32Const

Fields of F64Const

Fields of Wake

Fields of I32Wait

Fields of I64Wait

Fields of I32AtomicLoad

Fields of I64AtomicLoad

Fields of I32AtomicLoad8U

Fields of I32AtomicLoad16U

Fields of I64AtomicLoad8U

Fields of I64AtomicLoad16U

Fields of I64AtomicLoad32U

Fields of I32AtomicStore

Fields of I64AtomicStore

Fields of I32AtomicStore8

Fields of I32AtomicStore16

Fields of I64AtomicStore8

Fields of I64AtomicStore16

Fields of I64AtomicStore32

Fields of I32AtomicRmwAdd

Fields of I64AtomicRmwAdd

Fields of I32AtomicRmw8UAdd

Fields of I32AtomicRmw16UAdd

Fields of I64AtomicRmw8UAdd

Fields of I64AtomicRmw16UAdd

Fields of I64AtomicRmw32UAdd

Fields of I32AtomicRmwSub

Fields of I64AtomicRmwSub

Fields of I32AtomicRmw8USub

Fields of I32AtomicRmw16USub

Fields of I64AtomicRmw8USub

Fields of I64AtomicRmw16USub

Fields of I64AtomicRmw32USub

Fields of I32AtomicRmwAnd

Fields of I64AtomicRmwAnd

Fields of I32AtomicRmw8UAnd

Fields of I32AtomicRmw16UAnd

Fields of I64AtomicRmw8UAnd

Fields of I64AtomicRmw16UAnd

Fields of I64AtomicRmw32UAnd

Fields of I32AtomicRmwOr

Fields of I64AtomicRmwOr

Fields of I32AtomicRmw8UOr

Fields of I32AtomicRmw16UOr

Fields of I64AtomicRmw8UOr

Fields of I64AtomicRmw16UOr

Fields of I64AtomicRmw32UOr

Fields of I32AtomicRmwXor

Fields of I64AtomicRmwXor

Fields of I32AtomicRmw8UXor

Fields of I32AtomicRmw16UXor

Fields of I64AtomicRmw8UXor

Fields of I64AtomicRmw16UXor

Fields of I64AtomicRmw32UXor

Fields of I32AtomicRmwXchg

Fields of I64AtomicRmwXchg

Fields of I32AtomicRmw8UXchg

Fields of I32AtomicRmw16UXchg

Fields of I64AtomicRmw8UXchg

Fields of I64AtomicRmw16UXchg

Fields of I64AtomicRmw32UXchg

Fields of I32AtomicRmwCmpxchg

Fields of I64AtomicRmwCmpxchg

Fields of I32AtomicRmw8UCmpxchg

Fields of I32AtomicRmw16UCmpxchg

Fields of I64AtomicRmw8UCmpxchg

Fields of I64AtomicRmw16UCmpxchg

Fields of I64AtomicRmw32UCmpxchg

Trait Implementations

impl<'a> Debug for Operator<'a>
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl<'a> Send for Operator<'a>

impl<'a> Sync for Operator<'a>