pub enum Instruction {
Show 77 variants Error { message: String, }, Copy { target: u8, source: u8, }, SetNull { register: u8, }, SetBool { register: u8, value: bool, }, SetNumber { register: u8, value: i64, }, LoadFloat { register: u8, constant: ConstantIndex, }, LoadInt { register: u8, constant: ConstantIndex, }, LoadString { register: u8, constant: ConstantIndex, }, LoadNonLocal { register: u8, constant: ConstantIndex, }, ValueExport { name: u8, value: u8, }, Import { register: u8, }, MakeTempTuple { register: u8, start: u8, count: u8, }, TempTupleToTuple { register: u8, source: u8, }, MakeMap { register: u8, size_hint: usize, }, SequenceStart { register: u8, size_hint: usize, }, SequencePush { sequence: u8, value: u8, }, SequencePushN { sequence: u8, start: u8, count: u8, }, SequenceToList { sequence: u8, }, SequenceToTuple { sequence: u8, }, Range { register: u8, start: u8, end: u8, }, RangeInclusive { register: u8, start: u8, end: u8, }, RangeTo { register: u8, end: u8, }, RangeToInclusive { register: u8, end: u8, }, RangeFrom { register: u8, start: u8, }, RangeFull { register: u8, }, MakeIterator { register: u8, iterable: u8, }, SimpleFunction { register: u8, arg_count: u8, size: usize, }, Function { register: u8, arg_count: u8, capture_count: u8, instance_function: bool, variadic: bool, generator: bool, arg_is_unpacked_tuple: bool, size: usize, }, Capture { function: u8, target: u8, source: u8, }, Negate { register: u8, value: u8, }, Not { register: u8, value: u8, }, Add { register: u8, lhs: u8, rhs: u8, }, Subtract { register: u8, lhs: u8, rhs: u8, }, Multiply { register: u8, lhs: u8, rhs: u8, }, Divide { register: u8, lhs: u8, rhs: u8, }, Remainder { register: u8, lhs: u8, rhs: u8, }, Less { register: u8, lhs: u8, rhs: u8, }, LessOrEqual { register: u8, lhs: u8, rhs: u8, }, Greater { register: u8, lhs: u8, rhs: u8, }, GreaterOrEqual { register: u8, lhs: u8, rhs: u8, }, Equal { register: u8, lhs: u8, rhs: u8, }, NotEqual { register: u8, lhs: u8, rhs: u8, }, Jump { offset: usize, }, JumpBack { offset: usize, }, JumpIfTrue { register: u8, offset: usize, }, JumpIfFalse { register: u8, offset: usize, }, Call { result: u8, function: u8, frame_base: u8, arg_count: u8, }, CallInstance { result: u8, function: u8, frame_base: u8, arg_count: u8, instance: u8, }, Return { register: u8, }, Yield { register: u8, }, Throw { register: u8, }, Size { register: u8, value: u8, }, IterNext { register: u8, iterator: u8, jump_offset: usize, }, IterNextTemp { register: u8, iterator: u8, jump_offset: usize, }, IterNextQuiet { iterator: u8, jump_offset: usize, }, TempIndex { register: u8, value: u8, index: i8, }, SliceFrom { register: u8, value: u8, index: i8, }, SliceTo { register: u8, value: u8, index: i8, }, IsTuple { register: u8, value: u8, }, IsList { register: u8, value: u8, }, Index { register: u8, value: u8, index: u8, }, SetIndex { register: u8, index: u8, value: u8, }, MapInsert { register: u8, key: u8, value: u8, }, MetaInsert { register: u8, value: u8, id: MetaKeyId, }, MetaInsertNamed { register: u8, value: u8, id: MetaKeyId, name: u8, }, MetaExport { id: MetaKeyId, value: u8, }, MetaExportNamed { id: MetaKeyId, name: u8, value: u8, }, Access { register: u8, value: u8, key: ConstantIndex, }, AccessString { register: u8, value: u8, key: u8, }, TryStart { arg_register: u8, catch_offset: usize, }, TryEnd, Debug { register: u8, constant: ConstantIndex, }, CheckType { register: u8, type_id: TypeId, }, CheckSize { register: u8, size: usize, }, StringStart { register: u8, size_hint: usize, }, StringPush { register: u8, value: u8, }, StringFinish { register: u8, },
}
Expand description

Decoded instructions produced by an InstructionReader for execution in the runtime

For descriptions of each instruction’s purpose, see corresponding Op entries.

Variants

Error

Fields

message: String

Copy

Fields

target: u8
source: u8

SetNull

Fields

register: u8

SetBool

Fields

register: u8
value: bool

SetNumber

Fields

register: u8
value: i64

LoadFloat

Fields

register: u8
constant: ConstantIndex

LoadInt

Fields

register: u8
constant: ConstantIndex

LoadString

Fields

register: u8
constant: ConstantIndex

LoadNonLocal

Fields

register: u8
constant: ConstantIndex

ValueExport

Fields

name: u8
value: u8

Import

Fields

register: u8

MakeTempTuple

Fields

register: u8
start: u8
count: u8

TempTupleToTuple

Fields

register: u8
source: u8

MakeMap

Fields

register: u8
size_hint: usize

SequenceStart

Fields

register: u8
size_hint: usize

SequencePush

Fields

sequence: u8
value: u8

SequencePushN

Fields

sequence: u8
start: u8
count: u8

SequenceToList

Fields

sequence: u8

SequenceToTuple

Fields

sequence: u8

Range

Fields

register: u8
start: u8
end: u8

RangeInclusive

Fields

register: u8
start: u8
end: u8

RangeTo

Fields

register: u8
end: u8

RangeToInclusive

Fields

register: u8
end: u8

RangeFrom

Fields

register: u8
start: u8

RangeFull

Fields

register: u8

MakeIterator

Fields

register: u8
iterable: u8

SimpleFunction

Fields

register: u8
arg_count: u8
size: usize

Function

Fields

register: u8
arg_count: u8
capture_count: u8
instance_function: bool
variadic: bool
generator: bool
arg_is_unpacked_tuple: bool
size: usize

Capture

Fields

function: u8
target: u8
source: u8

Negate

Fields

register: u8
value: u8

Not

Fields

register: u8
value: u8

Add

Fields

register: u8
lhs: u8
rhs: u8

Subtract

Fields

register: u8
lhs: u8
rhs: u8

Multiply

Fields

register: u8
lhs: u8
rhs: u8

Divide

Fields

register: u8
lhs: u8
rhs: u8

Remainder

Fields

register: u8
lhs: u8
rhs: u8

Less

Fields

register: u8
lhs: u8
rhs: u8

LessOrEqual

Fields

register: u8
lhs: u8
rhs: u8

Greater

Fields

register: u8
lhs: u8
rhs: u8

GreaterOrEqual

Fields

register: u8
lhs: u8
rhs: u8

Equal

Fields

register: u8
lhs: u8
rhs: u8

NotEqual

Fields

register: u8
lhs: u8
rhs: u8

Jump

Fields

offset: usize

JumpBack

Fields

offset: usize

JumpIfTrue

Fields

register: u8
offset: usize

JumpIfFalse

Fields

register: u8
offset: usize

Call

Fields

result: u8
function: u8
frame_base: u8
arg_count: u8

CallInstance

Fields

result: u8
function: u8
frame_base: u8
arg_count: u8
instance: u8

Return

Fields

register: u8

Yield

Fields

register: u8

Throw

Fields

register: u8

Size

Fields

register: u8
value: u8

IterNext

Fields

register: u8
iterator: u8
jump_offset: usize

IterNextTemp

Fields

register: u8
iterator: u8
jump_offset: usize

IterNextQuiet

Fields

iterator: u8
jump_offset: usize

TempIndex

Fields

register: u8
value: u8
index: i8

SliceFrom

Fields

register: u8
value: u8
index: i8

SliceTo

Fields

register: u8
value: u8
index: i8

IsTuple

Fields

register: u8
value: u8

IsList

Fields

register: u8
value: u8

Index

Fields

register: u8
value: u8
index: u8

SetIndex

Fields

register: u8
index: u8
value: u8

MapInsert

Fields

register: u8
key: u8
value: u8

MetaInsert

Fields

register: u8
value: u8

MetaInsertNamed

Fields

register: u8
value: u8
name: u8

MetaExport

Fields

value: u8

MetaExportNamed

Fields

name: u8
value: u8

Access

Fields

register: u8
value: u8

AccessString

Fields

register: u8
value: u8
key: u8

TryStart

Fields

arg_register: u8
catch_offset: usize

TryEnd

Debug

Fields

register: u8
constant: ConstantIndex

CheckType

Fields

register: u8
type_id: TypeId

CheckSize

Fields

register: u8
size: usize

StringStart

Fields

register: u8
size_hint: usize

StringPush

Fields

register: u8
value: u8

StringFinish

Fields

register: u8

Trait Implementations

Formats the value using the given formatter. Read more

Formats the value using the given formatter. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Converts the given value to a String. Read more

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.