opcode

package
v0.4.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 23, 2026 License: MIT Imports: 0 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AbortCheck                  = Opcode(0)  // Poll VM abort flag; return control to host when set
	BComplement                 = Opcode(1)  // bitwise complement
	Pop                         = Opcode(2)  // Pop
	True                        = Opcode(3)  // Push true
	False                       = Opcode(4)  // Push false
	Equal                       = Opcode(5)  // Equal ==
	NotEqual                    = Opcode(6)  // Not equal !=
	Minus                       = Opcode(7)  // Minus -
	LNot                        = Opcode(8)  // Logical not !
	JumpFalsy                   = Opcode(9)  // Jump if falsy
	AndJump                     = Opcode(10) // Logical AND jump
	OrJump                      = Opcode(11) // Logical OR jump
	Jump                        = Opcode(12) // Jump
	Null                        = Opcode(13) // Push null
	Array                       = Opcode(14) // Array object
	Record                      = Opcode(15) // Record object
	Contains                    = Opcode(16) // Contains operation (x in y)
	Immutable                   = Opcode(17) // Immutable object
	Index                       = Opcode(18) // Index operation
	SliceIndex                  = Opcode(19) // Slice operation
	Call                        = Opcode(20) // Call function
	Return                      = Opcode(21) // Return
	GetGlobal                   = Opcode(22) // Get global variable
	SetGlobal                   = Opcode(23) // Set global variable
	SetSelGlobal                = Opcode(24) // Set global variable using selectors
	GetLocal                    = Opcode(25) // Get local variable
	SetLocal                    = Opcode(26) // Set local variable
	DefineLocal                 = Opcode(27) // Define local variable
	SetSelLocal                 = Opcode(28) // Set local variable using selectors
	GetFreePtr                  = Opcode(29) // Get free variable pointer object
	GetFree                     = Opcode(30) // Get free variables
	SetFree                     = Opcode(31) // Set free variables
	GetLocalPtr                 = Opcode(32) // Get local variable as a pointer
	SetSelFree                  = Opcode(33) // Set free variables using selectors
	GetBuiltinFunction          = Opcode(34) // Get builtin function
	Closure                     = Opcode(35) // Push closure
	IteratorInit                = Opcode(36) // Iterator init
	IteratorNext                = Opcode(37) // Iterator next
	IteratorKey                 = Opcode(38) // Iterator key
	IteratorValue               = Opcode(39) // Iterator value
	BinaryOp                    = Opcode(40) // Binary operation
	Suspend                     = Opcode(41) // Suspend VM
	Select                      = Opcode(42) // Select operation
	MethodCall                  = Opcode(43) // Call method on object
	SliceIndexStep              = Opcode(44) // Slice with step
	Format                      = Opcode(45) // Format value with pre-parsed FormatSpec static
	FormatDyn                   = Opcode(46) // Format value with runtime-built FormatSpec string popped from the stack
	Defer                       = Opcode(47) // Register deferred call: pop callee + N args, store on current frame
	DeferMethod                 = Opcode(48) // Register deferred method call: pop receiver + N args; method name from static strings[methodIdx]
	ImportBuiltinModule         = Opcode(49) // Import builtin module by static ID
	StaticPrimitiveValue        = Opcode(50) // Push static primitive value (bool, nil)
	StaticDecimalValue          = Opcode(51) // Push static decimal value
	StaticStringValue           = Opcode(52) // Push static string value
	StaticRunesValue            = Opcode(53) // Push static runes value
	StaticFormatSpecValue       = Opcode(54) // Push static FormatSpec value
	StaticCompiledFunctionValue = Opcode(55) // Push static compiled function value

)

Variables

This section is empty.

Functions

This section is empty.

Types

type Opcode

type Opcode byte

func (Opcode) Byte

func (op Opcode) Byte() byte

func (Opcode) Operands

func (op Opcode) Operands() []int

func (Opcode) String

func (op Opcode) String() string

func (Opcode) Width

func (op Opcode) Width() int

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL