pub enum SurfaceInstruction {
Show 142 variants
Span(u32, u32, u32),
Label(Ident),
FunctionStart,
FunctionEnd,
Breakpoint,
Branch(Ident),
ConditionalBranch(Ident, Ident),
Return(u32),
IndirectCall,
Call(u32, Ident),
Halt,
Print,
LoadI32(u32),
LoadI64(u32),
LoadU32(u32),
LoadU64(u32),
LoadF32(u32),
LoadF64(u32),
LoadBool(u32),
StoreI32(u32),
StoreI64(u32),
StoreU32(u32),
StoreU64(u32),
StoreF32(u32),
StoreF64(u32),
StoreBool(u32),
Dup,
HeapAlloc(u32),
GetItem,
HeapDealloc,
ConstI32(SurfaceValue),
ConstI64(SurfaceValue),
ConstU32(SurfaceValue),
ConstU64(SurfaceValue),
ConstF32(SurfaceValue),
ConstF64(SurfaceValue),
ConstBool(SurfaceValue),
ConstString(SurfaceValue),
ConstFunctionRef(SurfaceValue),
ConstHeapRef(SurfaceValue),
AddI32,
AddF32,
AddI64,
AddU32,
AddU64,
AddF64,
SubI32,
SubI64,
SubU32,
SubU64,
SubF32,
SubF64,
MulI32,
MulI64,
MulU32,
MulU64,
MulF32,
MulF64,
DivI32,
DivI64,
DivU32,
DivU64,
DivF32,
DivF64,
RemI32,
RemI64,
RemU32,
RemU64,
RemF32,
RemF64,
NegI32,
NegI64,
NegF32,
NegF64,
ShlI32,
ShlI64,
ShlU32,
ShlU64,
ShrI32,
ShrI64,
ShrU32,
ShrU64,
RolI32,
RolI64,
RolU32,
RolU64,
RorI32,
RorI64,
RorU32,
RorU64,
BitAndI32,
BitAndI64,
BitAndU32,
BitAndU64,
BitOrI32,
BitOrI64,
BitOrU32,
BitOrU64,
BitXorI32,
BitXorI64,
BitXorU32,
BitXorU64,
Not,
And,
Or,
Xor,
EqI32,
EqI64,
EqU32,
EqU64,
EqF32,
EqF64,
NeI32,
NeI64,
NeU32,
NeU64,
NeF32,
NeF64,
LtI32,
LtI64,
LtU32,
LtU64,
LtF32,
LtF64,
GtI32,
GtI64,
GtU32,
GtU64,
GtF32,
GtF64,
LeI32,
LeI64,
LeU32,
LeU64,
LeF32,
LeF64,
GeI32,
GeI64,
GeU32,
GeU64,
GeF32,
GeF64,
}Variants§
Span(u32, u32, u32)
Label(Ident)
FunctionStart
FunctionEnd
Breakpoint
Branch(Ident)
ConditionalBranch(Ident, Ident)
Return(u32)
IndirectCall
Call(u32, Ident)
Halt
LoadI32(u32)
LoadI64(u32)
LoadU32(u32)
LoadU64(u32)
LoadF32(u32)
LoadF64(u32)
LoadBool(u32)
StoreI32(u32)
StoreI64(u32)
StoreU32(u32)
StoreU64(u32)
StoreF32(u32)
StoreF64(u32)
StoreBool(u32)
Dup
HeapAlloc(u32)
GetItem
HeapDealloc
ConstI32(SurfaceValue)
ConstI64(SurfaceValue)
ConstU32(SurfaceValue)
ConstU64(SurfaceValue)
ConstF32(SurfaceValue)
ConstF64(SurfaceValue)
ConstBool(SurfaceValue)
ConstString(SurfaceValue)
ConstFunctionRef(SurfaceValue)
ConstHeapRef(SurfaceValue)
AddI32
AddF32
AddI64
AddU32
AddU64
AddF64
SubI32
SubI64
SubU32
SubU64
SubF32
SubF64
MulI32
MulI64
MulU32
MulU64
MulF32
MulF64
DivI32
DivI64
DivU32
DivU64
DivF32
DivF64
RemI32
RemI64
RemU32
RemU64
RemF32
RemF64
NegI32
NegI64
NegF32
NegF64
ShlI32
ShlI64
ShlU32
ShlU64
ShrI32
ShrI64
ShrU32
ShrU64
RolI32
RolI64
RolU32
RolU64
RorI32
RorI64
RorU32
RorU64
BitAndI32
BitAndI64
BitAndU32
BitAndU64
BitOrI32
BitOrI64
BitOrU32
BitOrU64
BitXorI32
BitXorI64
BitXorU32
BitXorU64
Not
And
Or
Xor
EqI32
EqI64
EqU32
EqU64
EqF32
EqF64
NeI32
NeI64
NeU32
NeU64
NeF32
NeF64
LtI32
LtI64
LtU32
LtU64
LtF32
LtF64
GtI32
GtI64
GtU32
GtU64
GtF32
GtF64
LeI32
LeI64
LeU32
LeU64
LeF32
LeF64
GeI32
GeI64
GeU32
GeU64
GeF32
GeF64
Trait Implementations§
Source§impl Clone for Instruction
impl Clone for Instruction
Source§fn clone(&self) -> Instruction
fn clone(&self) -> Instruction
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for Instruction
impl Debug for Instruction
Source§impl<'__vihaco_src> Parse<'__vihaco_src> for Instruction
impl<'__vihaco_src> Parse<'__vihaco_src> for Instruction
Source§impl PartialEq for Instruction
impl PartialEq for Instruction
Source§fn eq(&self, other: &Instruction) -> bool
fn eq(&self, other: &Instruction) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for Instruction
impl SurfaceInstruction for Instruction
Auto Trait Implementations§
impl Freeze for Instruction
impl RefUnwindSafe for Instruction
impl Send for Instruction
impl Sync for Instruction
impl Unpin for Instruction
impl UnsafeUnpin for Instruction
impl UnwindSafe for Instruction
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
impl<'src, T> IntoMaybe<'src, T> for Twhere
T: 'src,
impl<T> OrderedSeq<'_, T> for Twhere
T: Clone,
§impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
impl<'p, T> Seq<'p, T> for Twhere
T: Clone,
§type Iter<'a> = Once<&'a T>
where
T: 'a
type Iter<'a> = Once<&'a T> where T: 'a
An iterator over the items within this container, by reference.
§fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
fn contains(&self, val: &T) -> boolwhere
T: PartialEq,
Check whether an item is contained within this sequence.
§fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
fn to_maybe_ref<'b>(item: <T as Seq<'p, T>>::Item<'b>) -> Maybe<T, &'p T>where
'p: 'b,
Convert an item of the sequence into a [
MaybeRef].