PageRenderTime 17ms CodeModel.GetById 10ms app.highlight 5ms RepoModel.GetById 1ms app.codeStats 0ms

/src/middleware/lua/lopcodes.c

https://bitbucket.org/vivkin/gam3b00bs/
C | 102 lines | 85 code | 11 blank | 6 comment | 0 complexity | bd304355af8dde4fef9e58476663975a MD5 | raw file
  1/*
  2** $Id: lopcodes.c,v 1.37.1.1 2007/12/27 13:02:25 roberto Exp $
  3** See Copyright Notice in lua.h
  4*/
  5
  6
  7#define lopcodes_c
  8#define LUA_CORE
  9
 10
 11#include "lopcodes.h"
 12
 13
 14/* ORDER OP */
 15
 16const char *const luaP_opnames[NUM_OPCODES+1] = {
 17  "MOVE",
 18  "LOADK",
 19  "LOADBOOL",
 20  "LOADNIL",
 21  "GETUPVAL",
 22  "GETGLOBAL",
 23  "GETTABLE",
 24  "SETGLOBAL",
 25  "SETUPVAL",
 26  "SETTABLE",
 27  "NEWTABLE",
 28  "SELF",
 29  "ADD",
 30  "SUB",
 31  "MUL",
 32  "DIV",
 33  "MOD",
 34  "POW",
 35  "UNM",
 36  "NOT",
 37  "LEN",
 38  "CONCAT",
 39  "JMP",
 40  "EQ",
 41  "LT",
 42  "LE",
 43  "TEST",
 44  "TESTSET",
 45  "CALL",
 46  "TAILCALL",
 47  "RETURN",
 48  "FORLOOP",
 49  "FORPREP",
 50  "TFORLOOP",
 51  "SETLIST",
 52  "CLOSE",
 53  "CLOSURE",
 54  "VARARG",
 55  NULL
 56};
 57
 58
 59#define opmode(t,a,b,c,m) (((t)<<7) | ((a)<<6) | ((b)<<4) | ((c)<<2) | (m))
 60
 61const lu_byte luaP_opmodes[NUM_OPCODES] = {
 62/*       T  A    B       C     mode		   opcode	*/
 63  opmode(0, 1, OpArgR, OpArgN, iABC) 		/* OP_MOVE */
 64 ,opmode(0, 1, OpArgK, OpArgN, iABx)		/* OP_LOADK */
 65 ,opmode(0, 1, OpArgU, OpArgU, iABC)		/* OP_LOADBOOL */
 66 ,opmode(0, 1, OpArgR, OpArgN, iABC)		/* OP_LOADNIL */
 67 ,opmode(0, 1, OpArgU, OpArgN, iABC)		/* OP_GETUPVAL */
 68 ,opmode(0, 1, OpArgK, OpArgN, iABx)		/* OP_GETGLOBAL */
 69 ,opmode(0, 1, OpArgR, OpArgK, iABC)		/* OP_GETTABLE */
 70 ,opmode(0, 0, OpArgK, OpArgN, iABx)		/* OP_SETGLOBAL */
 71 ,opmode(0, 0, OpArgU, OpArgN, iABC)		/* OP_SETUPVAL */
 72 ,opmode(0, 0, OpArgK, OpArgK, iABC)		/* OP_SETTABLE */
 73 ,opmode(0, 1, OpArgU, OpArgU, iABC)		/* OP_NEWTABLE */
 74 ,opmode(0, 1, OpArgR, OpArgK, iABC)		/* OP_SELF */
 75 ,opmode(0, 1, OpArgK, OpArgK, iABC)		/* OP_ADD */
 76 ,opmode(0, 1, OpArgK, OpArgK, iABC)		/* OP_SUB */
 77 ,opmode(0, 1, OpArgK, OpArgK, iABC)		/* OP_MUL */
 78 ,opmode(0, 1, OpArgK, OpArgK, iABC)		/* OP_DIV */
 79 ,opmode(0, 1, OpArgK, OpArgK, iABC)		/* OP_MOD */
 80 ,opmode(0, 1, OpArgK, OpArgK, iABC)		/* OP_POW */
 81 ,opmode(0, 1, OpArgR, OpArgN, iABC)		/* OP_UNM */
 82 ,opmode(0, 1, OpArgR, OpArgN, iABC)		/* OP_NOT */
 83 ,opmode(0, 1, OpArgR, OpArgN, iABC)		/* OP_LEN */
 84 ,opmode(0, 1, OpArgR, OpArgR, iABC)		/* OP_CONCAT */
 85 ,opmode(0, 0, OpArgR, OpArgN, iAsBx)		/* OP_JMP */
 86 ,opmode(1, 0, OpArgK, OpArgK, iABC)		/* OP_EQ */
 87 ,opmode(1, 0, OpArgK, OpArgK, iABC)		/* OP_LT */
 88 ,opmode(1, 0, OpArgK, OpArgK, iABC)		/* OP_LE */
 89 ,opmode(1, 1, OpArgR, OpArgU, iABC)		/* OP_TEST */
 90 ,opmode(1, 1, OpArgR, OpArgU, iABC)		/* OP_TESTSET */
 91 ,opmode(0, 1, OpArgU, OpArgU, iABC)		/* OP_CALL */
 92 ,opmode(0, 1, OpArgU, OpArgU, iABC)		/* OP_TAILCALL */
 93 ,opmode(0, 0, OpArgU, OpArgN, iABC)		/* OP_RETURN */
 94 ,opmode(0, 1, OpArgR, OpArgN, iAsBx)		/* OP_FORLOOP */
 95 ,opmode(0, 1, OpArgR, OpArgN, iAsBx)		/* OP_FORPREP */
 96 ,opmode(1, 0, OpArgN, OpArgU, iABC)		/* OP_TFORLOOP */
 97 ,opmode(0, 0, OpArgU, OpArgU, iABC)		/* OP_SETLIST */
 98 ,opmode(0, 0, OpArgN, OpArgN, iABC)		/* OP_CLOSE */
 99 ,opmode(0, 1, OpArgU, OpArgN, iABx)		/* OP_CLOSURE */
100 ,opmode(0, 1, OpArgU, OpArgN, iABC)		/* OP_VARARG */
101};
102