rpm  4.5
lopcodes.c
Go to the documentation of this file.
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 */
7 
8 
9 #define lopcodes_c
10 
11 #include "lua.h"
12 
13 #include "lobject.h"
14 #include "lopcodes.h"
15 
16 
17 #ifdef LUA_OPNAMES
18 
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"
55 };
56 
57 #endif
58 
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))
62 
63 
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 */
101 };
102