|
| #define | SIZE_C 9 |
| |
| #define | SIZE_B 9 |
| |
| #define | SIZE_Bx (SIZE_C + SIZE_B) |
| |
| #define | SIZE_A 8 |
| |
| #define | SIZE_Ax (SIZE_C + SIZE_B + SIZE_A) |
| |
| #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 | POS_Ax POS_A |
| |
| #define | MAXARG_Bx MAX_INT |
| |
| #define | MAXARG_sBx MAX_INT |
| |
| #define | MAXARG_Ax 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(i, pos, size) (cast(int, ((i)>>pos) & MASK1(size,0))) |
| |
| #define | setarg(i, v, pos, size) |
| |
| #define | GETARG_A(i) getarg(i, POS_A, SIZE_A) |
| |
| #define | SETARG_A(i, v) setarg(i, v, POS_A, SIZE_A) |
| |
| #define | GETARG_B(i) getarg(i, POS_B, SIZE_B) |
| |
| #define | SETARG_B(i, v) setarg(i, v, POS_B, SIZE_B) |
| |
| #define | GETARG_C(i) getarg(i, POS_C, SIZE_C) |
| |
| #define | SETARG_C(i, v) setarg(i, v, POS_C, SIZE_C) |
| |
| #define | GETARG_Bx(i) getarg(i, POS_Bx, SIZE_Bx) |
| |
| #define | SETARG_Bx(i, v) setarg(i, v, POS_Bx, SIZE_Bx) |
| |
| #define | GETARG_Ax(i) getarg(i, POS_Ax, SIZE_Ax) |
| |
| #define | SETARG_Ax(i, v) setarg(i, v, POS_Ax, SIZE_Ax) |
| |
| #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 | CREATE_Ax(o, a) |
| |
| #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_EXTRAARG) + 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 |
| |