lua/lopcodes.c

Go to the documentation of this file.
00001 /*
00002 ** $Id: lopcodes.c,v 1.1 2004/03/16 21:58:30 niemeyer 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 

Generated on Fri Oct 12 08:44:54 2007 for rpm by  doxygen 1.5.2