pub enum Opcode {
Show 16 variants
Invalid(InvalidOpcode),
Nop(NopOpcode),
Add(AddOpcode),
Sub(SubOpcode),
Mul(MulOpcode),
Div(DivOpcode),
Jump(JumpOpcode),
Context(ContextOpcode),
Shift(ShiftOpcode),
Binop(BinopOpcode),
Ptr(PtrOpcode),
NearCall(NearCallOpcode),
Log(LogOpcode),
FarCall(FarCallOpcode),
Ret(RetOpcode),
UMA(UMAOpcode),
}
Variants§
Invalid(InvalidOpcode)
Nop(NopOpcode)
Add(AddOpcode)
Sub(SubOpcode)
Mul(MulOpcode)
Div(DivOpcode)
Jump(JumpOpcode)
Context(ContextOpcode)
Shift(ShiftOpcode)
Binop(BinopOpcode)
Ptr(PtrOpcode)
NearCall(NearCallOpcode)
Log(LogOpcode)
FarCall(FarCallOpcode)
Ret(RetOpcode)
UMA(UMAOpcode)
Implementations§
Source§impl Opcode
impl Opcode
pub fn ergs_price(&self) -> u32
pub fn materialize_subvariant_from_prototype( &self, idx: usize, version: &ISAVersion, ) -> Self
pub const fn variant_idx(&self) -> usize
pub fn materialize_subvariant_idx(&self) -> usize
pub fn requires_kernel_mode(&self) -> bool
pub fn can_be_used_in_static_context(&self) -> bool
pub fn can_have_src0_from_mem(&self, version: ISAVersion) -> bool
pub fn can_write_dst0_into_memory(&self, version: ISAVersion) -> bool
pub fn input_operands(&self, version: ISAVersion) -> Vec<Operand>
pub fn output_operands(&self, version: ISAVersion) -> Vec<Operand>
pub fn src0_can_be_pointer(&self) -> bool
pub fn src1_can_be_pointer(&self) -> bool
Trait Implementations§
Source§impl Ord for Opcode
impl Ord for Opcode
Source§impl PartialOrd for Opcode
impl PartialOrd for Opcode
impl Copy for Opcode
impl Eq for Opcode
impl StructuralPartialEq for Opcode
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