#include "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_C SIZE_OP |
#define | POS_B (POS_C + SIZE_C) |
#define | POS_Bx POS_C |
#define | POS_A (POS_B + SIZE_B) |
#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)&MASK1(SIZE_OP,0))) |
#define | SET_OPCODE(i, o) ((i) = (((i)&MASK0(SIZE_OP,0)) | cast(Instruction, o))) |
#define | GETARG_A(i) (cast(int, (i)>>POS_A)) |
#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 | NO_REG MAXARG_A |
#define | NUM_OPCODES (cast(int, OP_CLOSURE+1)) |
#define | getOpMode(m) (cast(enum OpMode, luaP_opmodes[m] & 3)) |
#define | testOpMode(m, b) (luaP_opmodes[m] & (1 << (b))) |
#define | LFIELDS_PER_FLUSH 32 |
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_POW, OP_UNM, OP_NOT, OP_CONCAT, OP_JMP, OP_EQ, OP_LT, OP_LE, OP_TEST, OP_CALL, OP_TAILCALL, OP_RETURN, OP_FORLOOP, OP_TFORLOOP, OP_TFORPREP, OP_SETLIST, OP_SETLISTO, OP_CLOSE, OP_CLOSURE } |
enum | OpModeMask { OpModeBreg = 2, OpModeBrk, OpModeCrk, OpModesetA, OpModeK, OpModeT } |
Variables | |
const lu_byte | luaP_opmodes [(((int)(OP_CLOSURE+1)))] |
#define CREATE_ABC | ( | o, | |||
a, | |||||
b, | |||||
c | ) |
Value:
(cast(Instruction, o) \ | (cast(Instruction, a)<<POS_A) \ | (cast(Instruction, b)<<POS_B) \ | (cast(Instruction, c)<<POS_C))
Definition at line 102 of file lopcodes.h.
Referenced by luaK_codeABC().
#define CREATE_ABx | ( | o, | |||
a, | |||||
bc | ) |
Value:
(cast(Instruction, o) \ | (cast(Instruction, a)<<POS_A) \ | (cast(Instruction, bc)<<POS_Bx))
Definition at line 107 of file lopcodes.h.
Referenced by luaK_codeABx().
#define GET_OPCODE | ( | i | ) | (cast(OpCode, (i)&MASK1(SIZE_OP,0))) |
Definition at line 79 of file lopcodes.h.
Referenced by checkopenop(), getfuncname(), getjumpcontrol(), getobjname(), invertjump(), jumponcond(), luaG_symbexec(), luaK_nil(), luaK_patchlistaux(), luaK_posfix(), need_value(), precheck(), and resume().
#define GETARG_A | ( | i | ) | (cast(int, (i)>>POS_A)) |
Definition at line 82 of file lopcodes.h.
Referenced by getfuncname(), getobjname(), invertjump(), luaG_symbexec(), luaK_nil(), luaK_setcallreturns(), and retstat().
#define GETARG_B | ( | i | ) | (cast(int, ((i)>>POS_B) & MASK1(SIZE_B,0))) |
Definition at line 86 of file lopcodes.h.
Referenced by checkopenop(), getobjname(), jumponcond(), luaG_symbexec(), luaK_nil(), luaK_posfix(), and patchtestreg().
#define GETARG_Bx | ( | i | ) | (cast(int, ((i)>>POS_Bx) & MASK1(SIZE_Bx,0))) |
#define GETARG_C | ( | i | ) | (cast(int, ((i)>>POS_C) & MASK1(SIZE_C,0))) |
Definition at line 90 of file lopcodes.h.
Referenced by getobjname(), luaG_symbexec(), luaK_patchlistaux(), need_value(), and resume().
#define GETARG_sBx | ( | i | ) | (GETARG_Bx(i)-MAXARG_sBx) |
#define getOpMode | ( | m | ) | (cast(enum OpMode, luaP_opmodes[m] & 3)) |
Definition at line 224 of file lopcodes.h.
Referenced by luaG_symbexec(), luaK_codeABC(), and luaK_codeABx().
#define LFIELDS_PER_FLUSH 32 |
#define MASK0 | ( | n, | |||
p | ) | (~MASK1(n,p)) |
Definition at line 73 of file lopcodes.h.
#define MASK1 | ( | n, | |||
p | ) | ((~((~(Instruction)0)<<n))<<p) |
Definition at line 70 of file lopcodes.h.
#define MAXARG_A ((1<<SIZE_A)-1) |
Definition at line 64 of file lopcodes.h.
#define MAXARG_B ((1<<SIZE_B)-1) |
Definition at line 65 of file lopcodes.h.
#define MAXARG_Bx MAX_INT |
#define MAXARG_C ((1<<SIZE_C)-1) |
#define MAXARG_sBx MAX_INT |
#define NO_REG MAXARG_A |
Definition at line 117 of file lopcodes.h.
Referenced by jumponcond(), luaG_checkcode(), luaG_symbexec(), luaK_dischargejpc(), luaK_exp2reg(), luaK_patchlist(), patchtestreg(), and singlevaraux().
#define NUM_OPCODES (cast(int, OP_CLOSURE+1)) |
Definition at line 189 of file lopcodes.h.
#define POS_A (POS_B + SIZE_B) |
Definition at line 47 of file lopcodes.h.
#define POS_B (POS_C + SIZE_C) |
Definition at line 45 of file lopcodes.h.
#define POS_Bx POS_C |
Definition at line 46 of file lopcodes.h.
#define POS_C SIZE_OP |
Definition at line 44 of file lopcodes.h.
#define SET_OPCODE | ( | i, | |||
o | ) | ((i) = (((i)&MASK0(SIZE_OP,0)) | cast(Instruction, o))) |
#define SETARG_A | ( | i, | |||
u | ) |
Value:
Definition at line 83 of file lopcodes.h.
Referenced by discharge2reg(), invertjump(), and patchtestreg().
#define SETARG_B | ( | i, | |||
b | ) |
Value:
Definition at line 87 of file lopcodes.h.
Referenced by constructor(), luaK_nil(), and luaK_posfix().
#define SETARG_Bx | ( | i, | |||
b | ) |
Value:
Definition at line 95 of file lopcodes.h.
#define SETARG_C | ( | i, | |||
b | ) |
Value:
Definition at line 91 of file lopcodes.h.
Referenced by constructor(), and luaK_setcallreturns().
#define SETARG_sBx | ( | i, | |||
b | ) | SETARG_Bx((i),cast(unsigned int, (b)+MAXARG_sBx)) |
#define SIZE_A 8 |
#define SIZE_B 9 |
#define SIZE_Bx (SIZE_C + SIZE_B) |
Definition at line 39 of file lopcodes.h.
#define SIZE_C 9 |
#define SIZE_OP 6 |
#define testOpMode | ( | m, | |||
b | ) | (luaP_opmodes[m] & (1 << (b))) |
Definition at line 225 of file lopcodes.h.
Referenced by getjumpcontrol(), invertjump(), and luaG_symbexec().
enum OpCode |
Definition at line 131 of file lopcodes.h.
enum OpMode |
enum OpModeMask |
Definition at line 210 of file lopcodes.h.
const lu_byte luaP_opmodes[(((int)(OP_CLOSURE+1)))] |
Definition at line 64 of file lopcodes.c.