[][src]Enum jazz::opcodes::Instruction

pub enum Instruction {
    LoadInt(usizei32),
    LoadLong(usizei64),
    LoadFloat(usizef32),
    LoadDouble(usizef64),
    LoadObject(usizeusize),
    LoadConst(usizeusize),
    LoadGlobal(usizeusize),
    LoadAt(usizeusizeusize),
    LoadSuper(usizeusizeusize),
    Move(usizeusize),
    Store(usizeusizeusize),
    StoreAt(usizeusizeusize),
    StoreGlobal(usizeusize),
    Jump(usize),
    JumpF(usizeusize),
    JumpT(usizeusize),
    Goto(usize),
    GotoT(usizeusize),
    GotoF(usizeusize),
    PushArg(usize),
    Call(usizeusizeusize),
    Add(usizeusizeusize),
    Sub(usizeusizeusize),
    Mul(usizeusizeusize),
    Div(usizeusizeusize),
    Gt(usizeusizeusize),
    Lt(usizeusizeusize),
    Ret0,
    Ret(usize),
    Label(usize),
}

Variants

LoadInt R(A) = B Loading integer value B to register A

LoadLong R(A) = B Loading long value B to register A

LoadFloat R(A) = B Loading float value B to register A

LoadDouble R(A) = B Loading double value B to register A

LoadConst R(A) = C(B) Load constant from object pool to register A

LoadGlobal R(A) = G(B) Load global value B into register A

LoadAt R(A) = R(B)[C] Load C from B and store in A

LoadSuper R(A) = R(B)C Load C from B and store in A

Move R(A) = R(B) Move register

Store R(B)[C] = A Store A into R(B)[C]

StoreGlobal G(A) = R(B) Store global

Jump IP

Jump (R(A) == false ? ip = B : continue)

Jump (R(A) == true ? ip == B : continue)

Goto

Same as Jump instructions, but uses labels

Push value from R(A) to arguments stack

R(A) = B(Args), C - Arg count, args poped from arg stack

Add R(A) = R(B) + R(C)

Sub R(A) = R(B) - R(C)

Mul R(A) = R(B) * R(C)

Div R(A) = R(B) / R(C)

Gt R(A) = R(B) > R(C)

Lt R(A) = R(B) < R(C)

Ret0 return null value

Ret R(A) return value from R(A)

Create label with id A

Trait Implementations

impl Clone for Instruction
[src]

Returns a copy of the value. Read more

Performs copy-assignment from source. Read more

impl Debug for Instruction
[src]

Formats the value using the given formatter. Read more

Auto Trait Implementations

impl Send for Instruction

impl Sync for Instruction

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

Performs the conversion.

impl<T> ToOwned for T where
    T: Clone
[src]

Creates owned data from borrowed data, usually by cloning. Read more

🔬 This is a nightly-only experimental API. (toowned_clone_into)

recently added

Uses borrowed data to replace owned data, usually by cloning. Read more

impl<T> From for T
[src]

Performs the conversion.

impl<T, U> TryFrom for T where
    T: From<U>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

impl<T> Borrow for T where
    T: ?Sized
[src]

Immutably borrows from an owned value. Read more

impl<T> BorrowMut for T where
    T: ?Sized
[src]

Mutably borrows from an owned value. Read more

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

🔬 This is a nightly-only experimental API. (try_from)

The type returned in the event of a conversion error.

🔬 This is a nightly-only experimental API. (try_from)

Performs the conversion.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

🔬 This is a nightly-only experimental API. (get_type_id)

this method will likely be replaced by an associated static

Gets the TypeId of self. Read more