+ − /*
+ − ** $Id: lopcodes.c,v 1.37.1.1 2007/12/27 13:02:25 roberto Exp $
+ − ** See Copyright Notice in lua.h
+ − */
+ −
+ −
+ − #define lopcodes_c
+ − #define LUA_CORE
+ −
+ −
+ − #include "lopcodes.h"
+ −
+ −
+ − /* ORDER OP */
+ −
+ − const char *const luaP_opnames[NUM_OPCODES+1] = {
+ − "MOVE",
+ − "LOADK",
+ − "LOADBOOL",
+ − "LOADNIL",
+ − "GETUPVAL",
+ − "GETGLOBAL",
+ − "GETTABLE",
+ − "SETGLOBAL",
+ − "SETUPVAL",
+ − "SETTABLE",
+ − "NEWTABLE",
+ − "SELF",
+ − "ADD",
+ − "SUB",
+ − "MUL",
+ − "DIV",
+ − "MOD",
+ − "POW",
+ − "UNM",
+ − "NOT",
+ − "LEN",
+ − "CONCAT",
+ − "JMP",
+ − "EQ",
+ − "LT",
+ − "LE",
+ − "TEST",
+ − "TESTSET",
+ − "CALL",
+ − "TAILCALL",
+ − "RETURN",
+ − "FORLOOP",
+ − "FORPREP",
+ − "TFORLOOP",
+ − "SETLIST",
+ − "CLOSE",
+ − "CLOSURE",
+ − "VARARG",
+ − NULL
+ − };
+ −
+ −
+ − #define opmode(t,a,b,c,m) (((t)<<7) | ((a)<<6) | ((b)<<4) | ((c)<<2) | (m))
+ −
+ − const lu_byte luaP_opmodes[NUM_OPCODES] = {
+ − /* T A B C mode opcode */
+ − opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_MOVE */
+ − ,opmode(0, 1, OpArgK, OpArgN, iABx) /* OP_LOADK */
+ − ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_LOADBOOL */
+ − ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_LOADNIL */
+ − ,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_GETUPVAL */
+ − ,opmode(0, 1, OpArgK, OpArgN, iABx) /* OP_GETGLOBAL */
+ − ,opmode(0, 1, OpArgR, OpArgK, iABC) /* OP_GETTABLE */
+ − ,opmode(0, 0, OpArgK, OpArgN, iABx) /* OP_SETGLOBAL */
+ − ,opmode(0, 0, OpArgU, OpArgN, iABC) /* OP_SETUPVAL */
+ − ,opmode(0, 0, OpArgK, OpArgK, iABC) /* OP_SETTABLE */
+ − ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_NEWTABLE */
+ − ,opmode(0, 1, OpArgR, OpArgK, iABC) /* OP_SELF */
+ − ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_ADD */
+ − ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_SUB */
+ − ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_MUL */
+ − ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_DIV */
+ − ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_MOD */
+ − ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_POW */
+ − ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_UNM */
+ − ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_NOT */
+ − ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_LEN */
+ − ,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_CONCAT */
+ − ,opmode(0, 0, OpArgR, OpArgN, iAsBx) /* OP_JMP */
+ − ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_EQ */
+ − ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LT */
+ − ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LE */
+ − ,opmode(1, 1, OpArgR, OpArgU, iABC) /* OP_TEST */
+ − ,opmode(1, 1, OpArgR, OpArgU, iABC) /* OP_TESTSET */
+ − ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_CALL */
+ − ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_TAILCALL */
+ − ,opmode(0, 0, OpArgU, OpArgN, iABC) /* OP_RETURN */
+ − ,opmode(0, 1, OpArgR, OpArgN, iAsBx) /* OP_FORLOOP */
+ − ,opmode(0, 1, OpArgR, OpArgN, iAsBx) /* OP_FORPREP */
+ − ,opmode(1, 0, OpArgN, OpArgU, iABC) /* OP_TFORLOOP */
+ − ,opmode(0, 0, OpArgU, OpArgU, iABC) /* OP_SETLIST */
+ − ,opmode(0, 0, OpArgN, OpArgN, iABC) /* OP_CLOSE */
+ − ,opmode(0, 1, OpArgU, OpArgN, iABx) /* OP_CLOSURE */
+ − ,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_VARARG */
+ − };
+ −