pub enum ByteCode {
Show 48 variants
Noop,
Swap {
r1: u8,
r2: u8,
},
Copy {
dest: u8,
src: u8,
},
Print {
src: u8,
},
Read {
dest: u8,
},
LoadGlobal {
dest: u8,
sym: u8,
},
StoreGlobal {
src: u8,
sym: u8,
},
MemLoad {
dest: u8,
store: u8,
key: u8,
},
MemStore {
store: u8,
key: u8,
src: u8,
},
NewList {
dest: u8,
},
NewMap {
dest: u8,
},
LoadBool {
dest: u8,
val: bool,
},
LoadNull {
dest: u8,
},
LoadInt {
dest: u8,
val: i16,
},
LoadSym {
dest: u8,
val: u16,
},
LoadLocal {
dest: u8,
id: u16,
},
LoadUpvalue {
dest: u8,
id: u16,
},
StoreUpvalue {
func: u8,
src: u8,
},
Equality {
dest: u8,
lhs: u8,
rhs: u8,
},
Inequality {
dest: u8,
lhs: u8,
rhs: u8,
},
Gt {
dest: u8,
lhs: u8,
rhs: u8,
},
Gte {
dest: u8,
lhs: u8,
rhs: u8,
},
Lt {
dest: u8,
lhs: u8,
rhs: u8,
},
Lte {
dest: u8,
lhs: u8,
rhs: u8,
},
Div {
dest: u8,
lhs: u8,
rhs: u8,
},
Mult {
dest: u8,
lhs: u8,
rhs: u8,
},
Add {
dest: u8,
lhs: u8,
rhs: u8,
},
Sub {
dest: u8,
lhs: u8,
rhs: u8,
},
Modulo {
dest: u8,
lhs: u8,
rhs: u8,
},
StoreArg {
src: u8,
},
Call {
dest: u8,
src: u8,
},
Return {
src: u8,
},
Jump {
offset: i16,
},
Jnt {
src: u8,
offset: i16,
},
Jit {
src: u8,
offset: i16,
},
Import {
dest: u8,
path: u8,
},
Push {
store: u8,
src: u8,
},
Pop {
dest: u8,
src: u8,
},
Len {
dest: u8,
src: u8,
},
Clone {
dest: u8,
src: u8,
},
Type {
dest: u8,
src: u8,
},
Delete {
dest: u8,
store: u8,
key: u8,
},
Bind {
dest: u8,
func: u8,
arg: u8,
},
BitFlip {
dest: u8,
src: u8,
},
BitXor {
dest: u8,
lhs: u8,
rhs: u8,
},
BitOr {
dest: u8,
lhs: u8,
rhs: u8,
},
BitAnd {
dest: u8,
lhs: u8,
rhs: u8,
},
BitShift {
dest: u8,
lhs: u8,
rhs: u8,
},
}Variants§
Noop
Swap
Copy
Read
LoadGlobal
StoreGlobal
MemLoad
MemStore
NewList
NewMap
LoadBool
LoadNull
LoadInt
LoadSym
LoadLocal
LoadUpvalue
StoreUpvalue
Equality
Inequality
Gt
Gte
Lt
Lte
Div
Mult
Add
Sub
Modulo
StoreArg
Call
Return
Jump
Jnt
Jit
Import
Push
Pop
Len
Clone
Type
Delete
Bind
BitFlip
BitXor
BitOr
BitAnd
BitShift
Trait Implementations§
impl Copy for ByteCode
impl Trace for ByteCode
impl TraceLeaf 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 UnsafeUnpin 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