#[repr(u8)]pub enum Opcode {
Stack(Stack),
Pred(Pred),
Alu(Alu),
Access(Access),
Crypto(Crypto),
TotalControlFlow(TotalControlFlow),
Memory(Memory),
ParentMemory(ParentMemory),
StateRead(StateRead),
Compute(Compute),
}
Expand description
All operations available to the Essential VM execution.
Variants§
Stack(Stack)
Operations related to stack manipulation.
Pred(Pred)
Operations for computing predicates.
Alu(Alu)
Operations for computing arithmetic and logic.
Access(Access)
Operations for accessing input data.
Crypto(Crypto)
Operations providing cryptographic functionality.
TotalControlFlow(TotalControlFlow)
Control flow operations that keep the program total.
Memory(Memory)
Operations for memory.
ParentMemory(ParentMemory)
Operations for reading parent memory from within a compute context.
StateRead(StateRead)
Operations related to reading state.
Compute(Compute)
Operations related to VM compute execution.
Trait Implementations§
Source§impl From<ParentMemory> for Op
impl From<ParentMemory> for Op
Source§fn from(subgroup: ParentMemory) -> Self
fn from(subgroup: ParentMemory) -> Self
Converts to this type from the input type.
Source§impl From<TotalControlFlow> for Op
impl From<TotalControlFlow> for Op
Source§fn from(subgroup: TotalControlFlow) -> Self
fn from(subgroup: TotalControlFlow) -> Self
Converts to this type from the input type.
Source§impl Ord for Op
impl Ord for Op
Source§impl ParseOp for Op
impl ParseOp for Op
Source§fn parse_op(
&self,
bytes: &mut impl Iterator<Item = u8>,
) -> Result<Self::Op, Self::Error>
fn parse_op( &self, bytes: &mut impl Iterator<Item = u8>, ) -> Result<Self::Op, Self::Error>
Attempt to parse the operation associated with the opcode from the given bytes.
Only consumes the bytes necessary to construct any associated data.
Returns an error in the case that the given bytes
iterator
contains insufficient bytes to parse the op.
Source§type Error = NotEnoughBytesError
type Error = NotEnoughBytesError
Any error that might occur while parsing.
Source§impl PartialOrd for Op
impl PartialOrd for Op
impl Copy for Op
impl Eq for Op
impl StructuralPartialEq for Op
Auto Trait Implementations§
impl Freeze for Op
impl RefUnwindSafe for Op
impl Send for Op
impl Sync for Op
impl Unpin for Op
impl UnwindSafe for Op
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