pub enum Opcode {
Show 55 variants
Illegal,
Boolean,
Byte,
Integer,
Float,
Pop,
Clone,
Clear,
Trap,
BooleanAdd,
BooleanSubtract,
ByteAdd,
ByteSubtract,
ByteMultiply,
ByteDivide,
ByteRemainder,
IntegerAdd,
IntegerSubtract,
IntegerMultiply,
IntegerDivide,
IntegerRemainder,
FloatAdd,
FloatSubtract,
FloatMultiply,
FloatDivide,
FloatRemainder,
CastBoolean,
CastByte,
CastInteger,
CastFloat,
NegateBoolean,
NegateByte,
NegateInteger,
NegateFloat,
Load,
Store,
Realloc,
HeapSize,
Alloc,
ReallocSection,
SectionAddr,
SectionShiftLeft,
SectionShiftRight,
Free,
FreeAndShift,
Branch,
BranchIfZero,
BranchIfNotZero,
Equal,
GreaterThan,
LessThan,
GreaterThanOrEqual,
LessThanOrEqual,
Call,
Return,
}
Expand description
The opcodes for the instructions defined in the Vermilion 2021 specification.
Variants§
Illegal
An illegal instruction. Not defined in the Vermilion specification, but it is used for internal use only.
Boolean
Byte
Integer
Float
Pop
Clone
Clear
Trap
BooleanAdd
BooleanSubtract
ByteAdd
ByteSubtract
ByteMultiply
ByteDivide
ByteRemainder
IntegerAdd
IntegerSubtract
IntegerMultiply
IntegerDivide
IntegerRemainder
FloatAdd
FloatSubtract
FloatMultiply
FloatDivide
FloatRemainder
CastBoolean
CastByte
CastInteger
CastFloat
NegateBoolean
NegateByte
NegateInteger
NegateFloat
Load
Store
Realloc
HeapSize
Alloc
ReallocSection
SectionAddr
SectionShiftLeft
SectionShiftRight
Free
FreeAndShift
Branch
BranchIfZero
BranchIfNotZero
Equal
GreaterThan
LessThan
GreaterThanOrEqual
LessThanOrEqual
Call
Return
Auto Trait Implementations§
impl Freeze for Opcode
impl RefUnwindSafe for Opcode
impl Send for Opcode
impl Sync for Opcode
impl Unpin for Opcode
impl UnwindSafe for Opcode
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