Enum bytecode::stackless_bytecode::Operation
source · pub enum Operation {
Show 53 variants
Function(ModuleId, FunId, Vec<Type>),
OpaqueCallBegin(ModuleId, FunId, Vec<Type>),
OpaqueCallEnd(ModuleId, FunId, Vec<Type>),
Pack(ModuleId, StructId, Vec<Type>),
Unpack(ModuleId, StructId, Vec<Type>),
MoveTo(ModuleId, StructId, Vec<Type>),
MoveFrom(ModuleId, StructId, Vec<Type>),
Exists(ModuleId, StructId, Vec<Type>),
BorrowLoc,
BorrowField(ModuleId, StructId, Vec<Type>, usize),
BorrowGlobal(ModuleId, StructId, Vec<Type>),
GetField(ModuleId, StructId, Vec<Type>, usize),
GetGlobal(ModuleId, StructId, Vec<Type>),
Destroy,
ReadRef,
WriteRef,
FreezeRef,
Havoc(HavocKind),
Stop,
IsParent(BorrowNode, BorrowEdge),
WriteBack(BorrowNode, BorrowEdge),
UnpackRef,
PackRef,
UnpackRefDeep,
PackRefDeep,
CastU8,
CastU64,
CastU128,
Not,
Add,
Sub,
Mul,
Div,
Mod,
BitOr,
BitAnd,
Xor,
Shl,
Shr,
Lt,
Gt,
Le,
Ge,
Or,
And,
Eq,
Neq,
TraceLocal(TempIndex),
TraceReturn(usize),
TraceAbort,
TraceExp(NodeId),
EmitEvent,
EventStoreDiverge,
}
Expand description
An operation – target of a call. This contains user functions, builtin functions, and operators.
Variants§
Function(ModuleId, FunId, Vec<Type>)
OpaqueCallBegin(ModuleId, FunId, Vec<Type>)
OpaqueCallEnd(ModuleId, FunId, Vec<Type>)
Pack(ModuleId, StructId, Vec<Type>)
Unpack(ModuleId, StructId, Vec<Type>)
MoveTo(ModuleId, StructId, Vec<Type>)
MoveFrom(ModuleId, StructId, Vec<Type>)
Exists(ModuleId, StructId, Vec<Type>)
BorrowLoc
BorrowField(ModuleId, StructId, Vec<Type>, usize)
BorrowGlobal(ModuleId, StructId, Vec<Type>)
GetField(ModuleId, StructId, Vec<Type>, usize)
GetGlobal(ModuleId, StructId, Vec<Type>)
Destroy
ReadRef
WriteRef
FreezeRef
Havoc(HavocKind)
Stop
IsParent(BorrowNode, BorrowEdge)
WriteBack(BorrowNode, BorrowEdge)
UnpackRef
PackRef
UnpackRefDeep
PackRefDeep
CastU8
CastU64
CastU128
Not
Add
Sub
Mul
Div
Mod
BitOr
BitAnd
Xor
Shl
Shr
Lt
Gt
Le
Ge
Or
And
Eq
Neq
TraceLocal(TempIndex)
TraceReturn(usize)
TraceAbort
TraceExp(NodeId)
EmitEvent
EventStoreDiverge
Implementations§
source§impl Operation
impl Operation
sourcepub fn display<'env>(
&'env self,
func_target: &'env FunctionTarget<'env>
) -> OperationDisplay<'env>
pub fn display<'env>( &'env self, func_target: &'env FunctionTarget<'env> ) -> OperationDisplay<'env>
Creates a format object for a bytecode in context of a function target.
Trait Implementations§
source§impl PartialEq<Operation> for Operation
impl PartialEq<Operation> for Operation
impl Eq for Operation
impl StructuralEq for Operation
impl StructuralPartialEq for Operation
Auto Trait Implementations§
impl RefUnwindSafe for Operation
impl Send for Operation
impl Sync for Operation
impl Unpin for Operation
impl UnwindSafe for Operation
Blanket Implementations§
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.