pub enum ByteCode {
Show 16 variants
None,
Jump {
addr: Address,
},
JumpIf {
negative: bool,
cond: Source,
addr: Address,
},
JumpNull {
negative: bool,
cond: Source,
addr: Address,
},
CallZero {
dst: Option<Location>,
func: Source,
},
CallSingle {
dst: Option<Location>,
func: Source,
arg: Source,
},
Call {
dst: Option<Location>,
func: Source,
offset: Register,
amount: u8,
},
Return {
src: Option<Source>,
},
Move {
dst: Location,
src: Source,
},
Field {
dst: Location,
head: Source,
field: Source,
},
SetField {
head: Source,
field: Source,
src: Source,
},
Vector {
dst: Location,
start: Register,
amount: VectorSize,
},
Object {
dst: Location,
start: Register,
amount: ObjectSize,
},
Function {
dst: Location,
addr: Address,
},
Binary {
op: BinaryOperation,
dst: Location,
left: Source,
right: Source,
},
Unary {
op: UnaryOperation,
dst: Location,
src: Source,
},
}Variants§
None
Jump
JumpIf
JumpNull
CallZero
CallSingle
Call
Return
Move
Field
SetField
Vector
Object
Function
Binary
Unary
Trait Implementations§
impl Copy for ByteCode
impl Eq for ByteCode
impl StructuralPartialEq for ByteCode
Auto Trait Implementations§
impl Freeze for ByteCode
impl RefUnwindSafe for ByteCode
impl Send for ByteCode
impl Sync for ByteCode
impl Unpin for ByteCode
impl UnwindSafe for ByteCode
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