NOP

Opcode Name Arguments
00 NOP  


MOV

Opcode Name Arguments
01 MOV reg, reg
02 LOAD_NIL reg
03 LOAD_TRUE reg
04 LOAD_FALSE reg
05 LOAD_UINT8 reg, uint8
06 LOAD_UINT16 reg, uint16
07 LOAD_UINT32 reg, uint32
08 LOAD_UINT64 reg, uint64
09 LOAD_INT8 reg, int8
0A LOAD_INT16 reg, int16
0B LOAD_INT32 reg, int32
0C LOAD_INT64 reg, int64
0D LOAD_CLASS reg, uint16
0E LOAD_CLASS_EX reg, uint16, reglist
0F LOAD_METHOD reg, symbol
10 REFLECT reg, symbol, uint16, uint16
11 LOAD_NUMBER reg, uint64
12 LOAD_STRING reg, uint64, uint64
13 NEW_ARRAY reg, reglist
14 LOAD_SELF reg
15 GET_INSTVAR reg, symbol
16 LOAD_HAS_BLOCK reg
17 LOAD_ARG reg, uint16


FLOW

Opcode Name Arguments
18 JMP int16
19 JMP_IF reg, int16, int16
1A CALL reg, symbol, reglist
1B INSTCALL reg, reg, symbol, reglist
1C SYSCALL reg, uint8, reglist
1D RETURN reg


OTHER

Opcode Name Arguments
1E RETAIN reg
1F RELEASE reg
20 CAST reg, reg, uint16
21 SET_INSTVAR symbol, reg


SPECIAL

Opcode Name Arguments
22 COV uint16, uint16
23 STACK_RESERVE uint16


NEW

Opcode Name Arguments
24 LOAD_FLOAT reg, float
25 LOAD_ARG_DEFAULT reg, uint16, reg
26 LOAD_LOCAL_BLOCK reg, reg
27 LOAD_CURRENT_BLOCK reg
28 BOX reg, reg
29 UNBOX reg, reg
2A SETBOX reg, reg, reg
2B GET_INSTVAR_EXT reg, symbol, reg
2C GET_CLASSVAR reg, symbol
2D SET_CLASSVAR symbol, reg


Autogenerated from src/shared/opcodes.rb, last revised: 2024-10-08