rpm
4.5
|
00001 /* 00002 ** $Id: lopcodes.c,v 1.22 2002/12/04 17:38:31 roberto Exp $ 00003 ** extracted automatically from lopcodes.h by mkprint.lua 00004 ** DO NOT EDIT 00005 ** See Copyright Notice in lua.h 00006 */ 00007 00008 00009 #define lopcodes_c 00010 00011 #include "lua.h" 00012 00013 #include "lobject.h" 00014 #include "lopcodes.h" 00015 00016 00017 #ifdef LUA_OPNAMES 00018 00019 const char *const luaP_opnames[] = { 00020 "MOVE", 00021 "LOADK", 00022 "LOADBOOL", 00023 "LOADNIL", 00024 "GETUPVAL", 00025 "GETGLOBAL", 00026 "GETTABLE", 00027 "SETGLOBAL", 00028 "SETUPVAL", 00029 "SETTABLE", 00030 "NEWTABLE", 00031 "SELF", 00032 "ADD", 00033 "SUB", 00034 "MUL", 00035 "DIV", 00036 "POW", 00037 "UNM", 00038 "NOT", 00039 "CONCAT", 00040 "JMP", 00041 "EQ", 00042 "LT", 00043 "LE", 00044 "TEST", 00045 "CALL", 00046 "TAILCALL", 00047 "RETURN", 00048 "FORLOOP", 00049 "TFORLOOP", 00050 "TFORPREP", 00051 "SETLIST", 00052 "SETLISTO", 00053 "CLOSE", 00054 "CLOSURE" 00055 }; 00056 00057 #endif 00058 00059 #define opmode(t,b,bk,ck,sa,k,m) (((t)<<OpModeT) | \ 00060 ((b)<<OpModeBreg) | ((bk)<<OpModeBrk) | ((ck)<<OpModeCrk) | \ 00061 ((sa)<<OpModesetA) | ((k)<<OpModeK) | (m)) 00062 00063 00064 const lu_byte luaP_opmodes[NUM_OPCODES] = { 00065 /* T B Bk Ck sA K mode opcode */ 00066 opmode(0, 1, 0, 0, 1, 0, iABC) /* OP_MOVE */ 00067 ,opmode(0, 0, 0, 0, 1, 1, iABx) /* OP_LOADK */ 00068 ,opmode(0, 0, 0, 0, 1, 0, iABC) /* OP_LOADBOOL */ 00069 ,opmode(0, 1, 0, 0, 1, 0, iABC) /* OP_LOADNIL */ 00070 ,opmode(0, 0, 0, 0, 1, 0, iABC) /* OP_GETUPVAL */ 00071 ,opmode(0, 0, 0, 0, 1, 1, iABx) /* OP_GETGLOBAL */ 00072 ,opmode(0, 1, 0, 1, 1, 0, iABC) /* OP_GETTABLE */ 00073 ,opmode(0, 0, 0, 0, 0, 1, iABx) /* OP_SETGLOBAL */ 00074 ,opmode(0, 0, 0, 0, 0, 0, iABC) /* OP_SETUPVAL */ 00075 ,opmode(0, 0, 1, 1, 0, 0, iABC) /* OP_SETTABLE */ 00076 ,opmode(0, 0, 0, 0, 1, 0, iABC) /* OP_NEWTABLE */ 00077 ,opmode(0, 1, 0, 1, 1, 0, iABC) /* OP_SELF */ 00078 ,opmode(0, 0, 1, 1, 1, 0, iABC) /* OP_ADD */ 00079 ,opmode(0, 0, 1, 1, 1, 0, iABC) /* OP_SUB */ 00080 ,opmode(0, 0, 1, 1, 1, 0, iABC) /* OP_MUL */ 00081 ,opmode(0, 0, 1, 1, 1, 0, iABC) /* OP_DIV */ 00082 ,opmode(0, 0, 1, 1, 1, 0, iABC) /* OP_POW */ 00083 ,opmode(0, 1, 0, 0, 1, 0, iABC) /* OP_UNM */ 00084 ,opmode(0, 1, 0, 0, 1, 0, iABC) /* OP_NOT */ 00085 ,opmode(0, 1, 0, 1, 1, 0, iABC) /* OP_CONCAT */ 00086 ,opmode(0, 0, 0, 0, 0, 0, iAsBx) /* OP_JMP */ 00087 ,opmode(1, 0, 1, 1, 0, 0, iABC) /* OP_EQ */ 00088 ,opmode(1, 0, 1, 1, 0, 0, iABC) /* OP_LT */ 00089 ,opmode(1, 0, 1, 1, 0, 0, iABC) /* OP_LE */ 00090 ,opmode(1, 1, 0, 0, 1, 0, iABC) /* OP_TEST */ 00091 ,opmode(0, 0, 0, 0, 0, 0, iABC) /* OP_CALL */ 00092 ,opmode(0, 0, 0, 0, 0, 0, iABC) /* OP_TAILCALL */ 00093 ,opmode(0, 0, 0, 0, 0, 0, iABC) /* OP_RETURN */ 00094 ,opmode(0, 0, 0, 0, 0, 0, iAsBx) /* OP_FORLOOP */ 00095 ,opmode(1, 0, 0, 0, 0, 0, iABC) /* OP_TFORLOOP */ 00096 ,opmode(0, 0, 0, 0, 0, 0, iAsBx) /* OP_TFORPREP */ 00097 ,opmode(0, 0, 0, 0, 0, 0, iABx) /* OP_SETLIST */ 00098 ,opmode(0, 0, 0, 0, 0, 0, iABx) /* OP_SETLISTO */ 00099 ,opmode(0, 0, 0, 0, 0, 0, iABC) /* OP_CLOSE */ 00100 ,opmode(0, 0, 0, 0, 1, 0, iABx) /* OP_CLOSURE */ 00101 }; 00102