#include <lua/llimits.h>
Go to the source code of this file.
Defines | |
#define | SIZE_C 9 |
#define | SIZE_B 9 |
#define | SIZE_Bx (SIZE_C + SIZE_B) |
#define | SIZE_A 8 |
#define | SIZE_OP 6 |
#define | POS_OP 0 |
#define | POS_A (POS_OP + SIZE_OP) |
#define | POS_C (POS_A + SIZE_A) |
#define | POS_B (POS_C + SIZE_C) |
#define | POS_Bx POS_C |
#define | MAXARG_Bx MAX_INT |
#define | MAXARG_sBx MAX_INT |
#define | MAXARG_A ((1<<SIZE_A)-1) |
#define | MAXARG_B ((1<<SIZE_B)-1) |
#define | MAXARG_C ((1<<SIZE_C)-1) |
#define | MASK1(n, p) ((~((~(Instruction)0)<<n))<<p) |
#define | MASK0(n, p) (~MASK1(n,p)) |
#define | GET_OPCODE(i) (cast(OpCode, ((i)>>POS_OP) & MASK1(SIZE_OP,0))) |
#define | SET_OPCODE(i, o) |
#define | GETARG_A(i) (cast(int, ((i)>>POS_A) & MASK1(SIZE_A,0))) |
#define | SETARG_A(i, u) |
#define | GETARG_B(i) (cast(int, ((i)>>POS_B) & MASK1(SIZE_B,0))) |
#define | SETARG_B(i, b) |
#define | GETARG_C(i) (cast(int, ((i)>>POS_C) & MASK1(SIZE_C,0))) |
#define | SETARG_C(i, b) |
#define | GETARG_Bx(i) (cast(int, ((i)>>POS_Bx) & MASK1(SIZE_Bx,0))) |
#define | SETARG_Bx(i, b) |
#define | GETARG_sBx(i) (GETARG_Bx(i)-MAXARG_sBx) |
#define | SETARG_sBx(i, b) SETARG_Bx((i),cast(unsigned int, (b)+MAXARG_sBx)) |
#define | CREATE_ABC(o, a, b, c) |
#define | CREATE_ABx(o, a, bc) |
#define | BITRK (1 << (SIZE_B - 1)) |
#define | ISK(x) ((x) & BITRK) |
#define | INDEXK(r) ((int)(r) & ~BITRK) |
#define | MAXINDEXRK (BITRK - 1) |
#define | RKASK(x) ((x) | BITRK) |
#define | NO_REG MAXARG_A |
#define | NUM_OPCODES (cast(int, OP_VARARG) + 1) |
#define | getOpMode(m) (cast(enum OpMode, luaP_opmodes[m] & 3)) |
#define | getBMode(m) (cast(enum OpArgMask, (luaP_opmodes[m] >> 4) & 3)) |
#define | getCMode(m) (cast(enum OpArgMask, (luaP_opmodes[m] >> 2) & 3)) |
#define | testAMode(m) (luaP_opmodes[m] & (1 << 6)) |
#define | testTMode(m) (luaP_opmodes[m] & (1 << 7)) |
#define | LFIELDS_PER_FLUSH 50 |
Enumerations | |
enum | OpMode { iABC, iABx, iAsBx } |
enum | OpCode { OP_MOVE, OP_LOADK, OP_LOADBOOL, OP_LOADNIL, OP_GETUPVAL, OP_GETGLOBAL, OP_GETTABLE, OP_SETGLOBAL, OP_SETUPVAL, OP_SETTABLE, OP_NEWTABLE, OP_SELF, OP_ADD, OP_SUB, OP_MUL, OP_DIV, OP_MOD, OP_POW, OP_UNM, OP_NOT, OP_LEN, OP_CONCAT, OP_JMP, OP_EQ, OP_LT, OP_LE, OP_TEST, OP_TESTSET, OP_CALL, OP_TAILCALL, OP_RETURN, OP_FORLOOP, OP_FORPREP, OP_TFORLOOP, OP_SETLIST, OP_CLOSE, OP_CLOSURE, OP_VARARG } |
enum | OpArgMask { OpArgN, OpArgU, OpArgR, OpArgK } |
Variables | |
LUAI_DATA const lu_byte | luaP_opmodes [NUM_OPCODES] |
LUAI_DATA const char *const | luaP_opnames [NUM_OPCODES+1] |
#define SIZE_C 9 |
Definition at line 37 of file lopcodes.h.
#define SIZE_B 9 |
Definition at line 38 of file lopcodes.h.
#define SIZE_Bx (SIZE_C + SIZE_B) |
Definition at line 39 of file lopcodes.h.
#define SIZE_A 8 |
Definition at line 40 of file lopcodes.h.
#define SIZE_OP 6 |
Definition at line 42 of file lopcodes.h.
#define POS_OP 0 |
Definition at line 44 of file lopcodes.h.
#define POS_A (POS_OP + SIZE_OP) |
Definition at line 45 of file lopcodes.h.
#define POS_C (POS_A + SIZE_A) |
Definition at line 46 of file lopcodes.h.
#define POS_B (POS_C + SIZE_C) |
Definition at line 47 of file lopcodes.h.
#define POS_Bx POS_C |
Definition at line 48 of file lopcodes.h.
#define MAXARG_Bx MAX_INT |
Definition at line 60 of file lopcodes.h.
#define MAXARG_sBx MAX_INT |
Definition at line 61 of file lopcodes.h.
#define MAXARG_A ((1<<SIZE_A)-1) |
Definition at line 65 of file lopcodes.h.
#define MAXARG_B ((1<<SIZE_B)-1) |
Definition at line 66 of file lopcodes.h.
#define MAXARG_C ((1<<SIZE_C)-1) |
Definition at line 67 of file lopcodes.h.
#define MASK1 | ( | n, | |
p | |||
) | ((~((~(Instruction)0)<<n))<<p) |
Definition at line 71 of file lopcodes.h.
#define MASK0 | ( | n, | |
p | |||
) | (~MASK1(n,p)) |
Definition at line 74 of file lopcodes.h.
#define GET_OPCODE | ( | i | ) | (cast(OpCode, ((i)>>POS_OP) & MASK1(SIZE_OP,0))) |
Definition at line 80 of file lopcodes.h.
#define SET_OPCODE | ( | i, | |
o | |||
) |
#define GETARG_A | ( | i | ) | (cast(int, ((i)>>POS_A) & MASK1(SIZE_A,0))) |
Definition at line 84 of file lopcodes.h.
#define SETARG_A | ( | i, | |
u | |||
) |
#define GETARG_B | ( | i | ) | (cast(int, ((i)>>POS_B) & MASK1(SIZE_B,0))) |
Definition at line 88 of file lopcodes.h.
#define SETARG_B | ( | i, | |
b | |||
) |
#define GETARG_C | ( | i | ) | (cast(int, ((i)>>POS_C) & MASK1(SIZE_C,0))) |
Definition at line 92 of file lopcodes.h.
#define SETARG_C | ( | i, | |
b | |||
) |
#define GETARG_Bx | ( | i | ) | (cast(int, ((i)>>POS_Bx) & MASK1(SIZE_Bx,0))) |
Definition at line 96 of file lopcodes.h.
#define SETARG_Bx | ( | i, | |
b | |||
) |
#define GETARG_sBx | ( | i | ) | (GETARG_Bx(i)-MAXARG_sBx) |
Definition at line 100 of file lopcodes.h.
#define SETARG_sBx | ( | i, | |
b | |||
) | SETARG_Bx((i),cast(unsigned int, (b)+MAXARG_sBx)) |
Definition at line 101 of file lopcodes.h.
#define CREATE_ABC | ( | o, | |
a, | |||
b, | |||
c | |||
) |
((cast(Instruction, o)<<POS_OP) \ | (cast(Instruction, a)<<POS_A) \ | (cast(Instruction, b)<<POS_B) \ | (cast(Instruction, c)<<POS_C))
Definition at line 104 of file lopcodes.h.
#define CREATE_ABx | ( | o, | |
a, | |||
bc | |||
) |
((cast(Instruction, o)<<POS_OP) \ | (cast(Instruction, a)<<POS_A) \ | (cast(Instruction, bc)<<POS_Bx))
Definition at line 109 of file lopcodes.h.
#define BITRK (1 << (SIZE_B - 1)) |
Definition at line 119 of file lopcodes.h.
#define ISK | ( | x | ) | ((x) & BITRK) |
Definition at line 122 of file lopcodes.h.
#define INDEXK | ( | r | ) | ((int)(r) & ~BITRK) |
Definition at line 125 of file lopcodes.h.
#define MAXINDEXRK (BITRK - 1) |
Definition at line 127 of file lopcodes.h.
#define RKASK | ( | x | ) | ((x) | BITRK) |
Definition at line 130 of file lopcodes.h.
#define NO_REG MAXARG_A |
Definition at line 136 of file lopcodes.h.
#define NUM_OPCODES (cast(int, OP_VARARG) + 1) |
Definition at line 211 of file lopcodes.h.
#define getOpMode | ( | m | ) | (cast(enum OpMode, luaP_opmodes[m] & 3)) |
Definition at line 254 of file lopcodes.h.
#define getBMode | ( | m | ) | (cast(enum OpArgMask, (luaP_opmodes[m] >> 4) & 3)) |
Definition at line 255 of file lopcodes.h.
#define getCMode | ( | m | ) | (cast(enum OpArgMask, (luaP_opmodes[m] >> 2) & 3)) |
Definition at line 256 of file lopcodes.h.
#define testAMode | ( | m | ) | (luaP_opmodes[m] & (1 << 6)) |
Definition at line 257 of file lopcodes.h.
#define testTMode | ( | m | ) | (luaP_opmodes[m] & (1 << 7)) |
Definition at line 258 of file lopcodes.h.
#define LFIELDS_PER_FLUSH 50 |
Definition at line 265 of file lopcodes.h.
enum OpMode |
Definition at line 31 of file lopcodes.h.
enum OpCode |
Definition at line 150 of file lopcodes.h.
enum OpArgMask |
Definition at line 245 of file lopcodes.h.
LUAI_DATA const lu_byte luaP_opmodes[NUM_OPCODES] |
Definition at line 252 of file lopcodes.h.
LUAI_DATA const char* const luaP_opnames[NUM_OPCODES+1] |
Definition at line 261 of file lopcodes.h.