Imported from ../lua-5.0.3.tar.gz.
[lua.git] / src / lopcodes.c
blob993e426d35da841f4770e11ad00bea7a7ffe3241
1 /*
2 ** $Id: lopcodes.c,v 1.22 2002/12/04 17:38:31 roberto Exp $
3 ** extracted automatically from lopcodes.h by mkprint.lua
4 ** DO NOT EDIT
5 ** See Copyright Notice in lua.h
6 */
9 #define lopcodes_c
11 #include "lua.h"
13 #include "lobject.h"
14 #include "lopcodes.h"
17 #ifdef LUA_OPNAMES
19 const char *const luaP_opnames[] = {
20 "MOVE",
21 "LOADK",
22 "LOADBOOL",
23 "LOADNIL",
24 "GETUPVAL",
25 "GETGLOBAL",
26 "GETTABLE",
27 "SETGLOBAL",
28 "SETUPVAL",
29 "SETTABLE",
30 "NEWTABLE",
31 "SELF",
32 "ADD",
33 "SUB",
34 "MUL",
35 "DIV",
36 "POW",
37 "UNM",
38 "NOT",
39 "CONCAT",
40 "JMP",
41 "EQ",
42 "LT",
43 "LE",
44 "TEST",
45 "CALL",
46 "TAILCALL",
47 "RETURN",
48 "FORLOOP",
49 "TFORLOOP",
50 "TFORPREP",
51 "SETLIST",
52 "SETLISTO",
53 "CLOSE",
54 "CLOSURE"
57 #endif
59 #define opmode(t,b,bk,ck,sa,k,m) (((t)<<OpModeT) | \
60 ((b)<<OpModeBreg) | ((bk)<<OpModeBrk) | ((ck)<<OpModeCrk) | \
61 ((sa)<<OpModesetA) | ((k)<<OpModeK) | (m))
64 const lu_byte luaP_opmodes[NUM_OPCODES] = {
65 /* T B Bk Ck sA K mode opcode */
66 opmode(0, 1, 0, 0, 1, 0, iABC) /* OP_MOVE */
67 ,opmode(0, 0, 0, 0, 1, 1, iABx) /* OP_LOADK */
68 ,opmode(0, 0, 0, 0, 1, 0, iABC) /* OP_LOADBOOL */
69 ,opmode(0, 1, 0, 0, 1, 0, iABC) /* OP_LOADNIL */
70 ,opmode(0, 0, 0, 0, 1, 0, iABC) /* OP_GETUPVAL */
71 ,opmode(0, 0, 0, 0, 1, 1, iABx) /* OP_GETGLOBAL */
72 ,opmode(0, 1, 0, 1, 1, 0, iABC) /* OP_GETTABLE */
73 ,opmode(0, 0, 0, 0, 0, 1, iABx) /* OP_SETGLOBAL */
74 ,opmode(0, 0, 0, 0, 0, 0, iABC) /* OP_SETUPVAL */
75 ,opmode(0, 0, 1, 1, 0, 0, iABC) /* OP_SETTABLE */
76 ,opmode(0, 0, 0, 0, 1, 0, iABC) /* OP_NEWTABLE */
77 ,opmode(0, 1, 0, 1, 1, 0, iABC) /* OP_SELF */
78 ,opmode(0, 0, 1, 1, 1, 0, iABC) /* OP_ADD */
79 ,opmode(0, 0, 1, 1, 1, 0, iABC) /* OP_SUB */
80 ,opmode(0, 0, 1, 1, 1, 0, iABC) /* OP_MUL */
81 ,opmode(0, 0, 1, 1, 1, 0, iABC) /* OP_DIV */
82 ,opmode(0, 0, 1, 1, 1, 0, iABC) /* OP_POW */
83 ,opmode(0, 1, 0, 0, 1, 0, iABC) /* OP_UNM */
84 ,opmode(0, 1, 0, 0, 1, 0, iABC) /* OP_NOT */
85 ,opmode(0, 1, 0, 1, 1, 0, iABC) /* OP_CONCAT */
86 ,opmode(0, 0, 0, 0, 0, 0, iAsBx) /* OP_JMP */
87 ,opmode(1, 0, 1, 1, 0, 0, iABC) /* OP_EQ */
88 ,opmode(1, 0, 1, 1, 0, 0, iABC) /* OP_LT */
89 ,opmode(1, 0, 1, 1, 0, 0, iABC) /* OP_LE */
90 ,opmode(1, 1, 0, 0, 1, 0, iABC) /* OP_TEST */
91 ,opmode(0, 0, 0, 0, 0, 0, iABC) /* OP_CALL */
92 ,opmode(0, 0, 0, 0, 0, 0, iABC) /* OP_TAILCALL */
93 ,opmode(0, 0, 0, 0, 0, 0, iABC) /* OP_RETURN */
94 ,opmode(0, 0, 0, 0, 0, 0, iAsBx) /* OP_FORLOOP */
95 ,opmode(1, 0, 0, 0, 0, 0, iABC) /* OP_TFORLOOP */
96 ,opmode(0, 0, 0, 0, 0, 0, iAsBx) /* OP_TFORPREP */
97 ,opmode(0, 0, 0, 0, 0, 0, iABx) /* OP_SETLIST */
98 ,opmode(0, 0, 0, 0, 0, 0, iABx) /* OP_SETLISTO */
99 ,opmode(0, 0, 0, 0, 0, 0, iABC) /* OP_CLOSE */
100 ,opmode(0, 0, 0, 0, 1, 0, iABx) /* OP_CLOSURE */