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_METHOD reg, symbol
0F REFLECT reg, symbol, uint16, uint16
10 LOAD_NUMBER reg, uint64
11 LOAD_STRING reg, uint64, uint64
12 NEW_ARRAY reg, reglist
13 LOAD_SELF reg
14 GET_INSTVAR reg, symbol
15 LOAD_CLOSURE reg, uint16
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 CALL_BLOCK reg, symbol, symbol, reg, reglist
1C INSTCALL reg, reg, symbol, reglist
1D INSTCALL_BLOCK reg, reg, symbol, symbol, reg, reglist
1E SYSCALL reg, uint8, reglist
1F YIELD reg, reglist
20 RETURN reg


OTHER

Opcode Name Arguments
21 RETAIN reg
22 RELEASE reg
23 CAST reg, reg, uint16
24 SET_INSTVAR symbol, reg


SPECIAL

Opcode Name Arguments
25 COV uint16, uint16
26 STACK_RESERVE uint16


Autogenerated from src/shared/opcodes.rb, last revised: 2017-11-15