Remove building with NOCRYPTO option
[minix.git] / external / mit / lua / dist / src / lopcodes.c
blob4ce7c4be9616c632553a50395cf908d13331aa22
1 /* $NetBSD: lopcodes.c,v 1.3 2015/02/02 14:03:05 lneto Exp $ */
3 /*
4 ** Id: lopcodes.c,v 1.55 2015/01/05 13:48:33 roberto Exp
5 ** Opcodes for Lua virtual machine
6 ** See Copyright Notice in lua.h
7 */
9 #define lopcodes_c
10 #define LUA_CORE
12 #include "lprefix.h"
15 #ifndef _KERNEL
16 #include <stddef.h>
17 #endif
19 #include "lopcodes.h"
22 /* ORDER OP */
24 LUAI_DDEF const char *const luaP_opnames[NUM_OPCODES+1] = {
25 "MOVE",
26 "LOADK",
27 "LOADKX",
28 "LOADBOOL",
29 "LOADNIL",
30 "GETUPVAL",
31 "GETTABUP",
32 "GETTABLE",
33 "SETTABUP",
34 "SETUPVAL",
35 "SETTABLE",
36 "NEWTABLE",
37 "SELF",
38 "ADD",
39 "SUB",
40 "MUL",
41 "MOD",
42 #ifndef _KERNEL
43 "POW",
44 "DIV",
45 #endif
46 "IDIV",
47 "BAND",
48 "BOR",
49 "BXOR",
50 "SHL",
51 "SHR",
52 "UNM",
53 "BNOT",
54 "NOT",
55 "LEN",
56 "CONCAT",
57 "JMP",
58 "EQ",
59 "LT",
60 "LE",
61 "TEST",
62 "TESTSET",
63 "CALL",
64 "TAILCALL",
65 "RETURN",
66 "FORLOOP",
67 "FORPREP",
68 "TFORCALL",
69 "TFORLOOP",
70 "SETLIST",
71 "CLOSURE",
72 "VARARG",
73 "EXTRAARG",
74 NULL
78 #define opmode(t,a,b,c,m) (((t)<<7) | ((a)<<6) | ((b)<<4) | ((c)<<2) | (m))
80 LUAI_DDEF const lu_byte luaP_opmodes[NUM_OPCODES] = {
81 /* T A B C mode opcode */
82 opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_MOVE */
83 ,opmode(0, 1, OpArgK, OpArgN, iABx) /* OP_LOADK */
84 ,opmode(0, 1, OpArgN, OpArgN, iABx) /* OP_LOADKX */
85 ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_LOADBOOL */
86 ,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_LOADNIL */
87 ,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_GETUPVAL */
88 ,opmode(0, 1, OpArgU, OpArgK, iABC) /* OP_GETTABUP */
89 ,opmode(0, 1, OpArgR, OpArgK, iABC) /* OP_GETTABLE */
90 ,opmode(0, 0, OpArgK, OpArgK, iABC) /* OP_SETTABUP */
91 ,opmode(0, 0, OpArgU, OpArgN, iABC) /* OP_SETUPVAL */
92 ,opmode(0, 0, OpArgK, OpArgK, iABC) /* OP_SETTABLE */
93 ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_NEWTABLE */
94 ,opmode(0, 1, OpArgR, OpArgK, iABC) /* OP_SELF */
95 ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_ADD */
96 ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_SUB */
97 ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_MUL */
98 ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_MOD */
99 #ifndef _KERNEL
100 ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_POW */
101 ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_DIV */
102 #endif
103 ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_IDIV */
104 ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BAND */
105 ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BOR */
106 ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_BXOR */
107 ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_SHL */
108 ,opmode(0, 1, OpArgK, OpArgK, iABC) /* OP_SHR */
109 ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_UNM */
110 ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_BNOT */
111 ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_NOT */
112 ,opmode(0, 1, OpArgR, OpArgN, iABC) /* OP_LEN */
113 ,opmode(0, 1, OpArgR, OpArgR, iABC) /* OP_CONCAT */
114 ,opmode(0, 0, OpArgR, OpArgN, iAsBx) /* OP_JMP */
115 ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_EQ */
116 ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LT */
117 ,opmode(1, 0, OpArgK, OpArgK, iABC) /* OP_LE */
118 ,opmode(1, 0, OpArgN, OpArgU, iABC) /* OP_TEST */
119 ,opmode(1, 1, OpArgR, OpArgU, iABC) /* OP_TESTSET */
120 ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_CALL */
121 ,opmode(0, 1, OpArgU, OpArgU, iABC) /* OP_TAILCALL */
122 ,opmode(0, 0, OpArgU, OpArgN, iABC) /* OP_RETURN */
123 ,opmode(0, 1, OpArgR, OpArgN, iAsBx) /* OP_FORLOOP */
124 ,opmode(0, 1, OpArgR, OpArgN, iAsBx) /* OP_FORPREP */
125 ,opmode(0, 0, OpArgN, OpArgU, iABC) /* OP_TFORCALL */
126 ,opmode(0, 1, OpArgR, OpArgN, iAsBx) /* OP_TFORLOOP */
127 ,opmode(0, 0, OpArgU, OpArgU, iABC) /* OP_SETLIST */
128 ,opmode(0, 1, OpArgU, OpArgN, iABx) /* OP_CLOSURE */
129 ,opmode(0, 1, OpArgU, OpArgN, iABC) /* OP_VARARG */
130 ,opmode(0, 0, OpArgU, OpArgU, iAx) /* OP_EXTRAARG */