File tree Expand file tree Collapse file tree 3 files changed +260
-0
lines changed Expand file tree Collapse file tree 3 files changed +260
-0
lines changed Original file line number Diff line number Diff line change
1
+ /*
2
+ ** $Id: ljumptab.h $
3
+ ** Jump Table for the Lua interpreter
4
+ ** See Copyright Notice in lua.h
5
+ */
6
+
7
+
8
+ #undef vmdispatch
9
+ #undef vmcase
10
+ #undef vmbreak
11
+
12
+ #define vmdispatch (x ) goto *disptab[x];
13
+
14
+ #define vmcase (l ) L_##l:
15
+
16
+ #define vmbreak vmfetch(); vmdispatch(GET_OPCODE(i));
17
+
18
+
19
+ static const void * const disptab [NUM_OPCODES ] = {
20
+
21
+ #if 0
22
+ * * you can update the following list with this command :
23
+ * *
24
+ * * sed - n '/^OP_/\!d; s/OP_/\&\&L_OP_/ ; s/,.*/,/ ; s/\/.*// ; p' lopcodes.h
25
+ * *
26
+ #endif
27
+
28
+ && L_OP_MOVE ,
29
+ & & L_OP_LOADI ,
30
+ & & L_OP_LOADF ,
31
+ & & L_OP_LOADK ,
32
+ & & L_OP_LOADKX ,
33
+ & & L_OP_LOADFALSE ,
34
+ & & L_OP_LFALSESKIP ,
35
+ & & L_OP_LOADTRUE ,
36
+ & & L_OP_LOADNIL ,
37
+ & & L_OP_GETUPVAL ,
38
+ & & L_OP_SETUPVAL ,
39
+ & & L_OP_GETTABUP ,
40
+ & & L_OP_GETTABLE ,
41
+ & & L_OP_GETI ,
42
+ & & L_OP_GETFIELD ,
43
+ & & L_OP_SETTABUP ,
44
+ & & L_OP_SETTABLE ,
45
+ & & L_OP_SETI ,
46
+ & & L_OP_SETFIELD ,
47
+ & & L_OP_NEWTABLE ,
48
+ & & L_OP_SELF ,
49
+ & & L_OP_ADDI ,
50
+ & & L_OP_ADDK ,
51
+ & & L_OP_SUBK ,
52
+ & & L_OP_MULK ,
53
+ & & L_OP_MODK ,
54
+ & & L_OP_POWK ,
55
+ & & L_OP_DIVK ,
56
+ & & L_OP_IDIVK ,
57
+ & & L_OP_BANDK ,
58
+ & & L_OP_BORK ,
59
+ & & L_OP_BXORK ,
60
+ & & L_OP_SHRI ,
61
+ & & L_OP_SHLI ,
62
+ & & L_OP_ADD ,
63
+ & & L_OP_SUB ,
64
+ & & L_OP_MUL ,
65
+ & & L_OP_MOD ,
66
+ & & L_OP_POW ,
67
+ & & L_OP_DIV ,
68
+ & & L_OP_IDIV ,
69
+ & & L_OP_BAND ,
70
+ & & L_OP_BOR ,
71
+ & & L_OP_BXOR ,
72
+ & & L_OP_SHL ,
73
+ & & L_OP_SHR ,
74
+ & & L_OP_MMBIN ,
75
+ & & L_OP_MMBINI ,
76
+ & & L_OP_MMBINK ,
77
+ & & L_OP_UNM ,
78
+ & & L_OP_BNOT ,
79
+ & & L_OP_NOT ,
80
+ & & L_OP_LEN ,
81
+ & & L_OP_CONCAT ,
82
+ & & L_OP_CLOSE ,
83
+ & & L_OP_TBC ,
84
+ & & L_OP_JMP ,
85
+ & & L_OP_EQ ,
86
+ & & L_OP_LT ,
87
+ & & L_OP_LE ,
88
+ & & L_OP_EQK ,
89
+ & & L_OP_EQI ,
90
+ & & L_OP_LTI ,
91
+ & & L_OP_LEI ,
92
+ & & L_OP_GTI ,
93
+ & & L_OP_GEI ,
94
+ & & L_OP_TEST ,
95
+ & & L_OP_TESTSET ,
96
+ & & L_OP_CALL ,
97
+ & & L_OP_TAILCALL ,
98
+ & & L_OP_RETURN ,
99
+ & & L_OP_RETURN0 ,
100
+ & & L_OP_RETURN1 ,
101
+ & & L_OP_FORLOOP ,
102
+ & & L_OP_FORPREP ,
103
+ & & L_OP_TFORPREP ,
104
+ & & L_OP_TFORCALL ,
105
+ & & L_OP_TFORLOOP ,
106
+ & & L_OP_SETLIST ,
107
+ & & L_OP_CLOSURE ,
108
+ & & L_OP_VARARG ,
109
+ & & L_OP_VARARGPREP ,
110
+ & & L_OP_EXTRAARG
111
+
112
+ };
Original file line number Diff line number Diff line change
1
+ /*
2
+ ** $Id: lopnames.h $
3
+ ** Opcode names
4
+ ** See Copyright Notice in lua.h
5
+ */
6
+
7
+ #if !defined(lopnames_h )
8
+ #define lopnames_h
9
+
10
+ #include <stddef.h>
11
+
12
+
13
+ /* ORDER OP */
14
+
15
+ static const char * const opnames [] = {
16
+ "MOVE" ,
17
+ "LOADI" ,
18
+ "LOADF" ,
19
+ "LOADK" ,
20
+ "LOADKX" ,
21
+ "LOADFALSE" ,
22
+ "LFALSESKIP" ,
23
+ "LOADTRUE" ,
24
+ "LOADNIL" ,
25
+ "GETUPVAL" ,
26
+ "SETUPVAL" ,
27
+ "GETTABUP" ,
28
+ "GETTABLE" ,
29
+ "GETI" ,
30
+ "GETFIELD" ,
31
+ "SETTABUP" ,
32
+ "SETTABLE" ,
33
+ "SETI" ,
34
+ "SETFIELD" ,
35
+ "NEWTABLE" ,
36
+ "SELF" ,
37
+ "ADDI" ,
38
+ "ADDK" ,
39
+ "SUBK" ,
40
+ "MULK" ,
41
+ "MODK" ,
42
+ "POWK" ,
43
+ "DIVK" ,
44
+ "IDIVK" ,
45
+ "BANDK" ,
46
+ "BORK" ,
47
+ "BXORK" ,
48
+ "SHRI" ,
49
+ "SHLI" ,
50
+ "ADD" ,
51
+ "SUB" ,
52
+ "MUL" ,
53
+ "MOD" ,
54
+ "POW" ,
55
+ "DIV" ,
56
+ "IDIV" ,
57
+ "BAND" ,
58
+ "BOR" ,
59
+ "BXOR" ,
60
+ "SHL" ,
61
+ "SHR" ,
62
+ "MMBIN" ,
63
+ "MMBINI" ,
64
+ "MMBINK" ,
65
+ "UNM" ,
66
+ "BNOT" ,
67
+ "NOT" ,
68
+ "LEN" ,
69
+ "CONCAT" ,
70
+ "CLOSE" ,
71
+ "TBC" ,
72
+ "JMP" ,
73
+ "EQ" ,
74
+ "LT" ,
75
+ "LE" ,
76
+ "EQK" ,
77
+ "EQI" ,
78
+ "LTI" ,
79
+ "LEI" ,
80
+ "GTI" ,
81
+ "GEI" ,
82
+ "TEST" ,
83
+ "TESTSET" ,
84
+ "CALL" ,
85
+ "TAILCALL" ,
86
+ "RETURN" ,
87
+ "RETURN0" ,
88
+ "RETURN1" ,
89
+ "FORLOOP" ,
90
+ "FORPREP" ,
91
+ "TFORPREP" ,
92
+ "TFORCALL" ,
93
+ "TFORLOOP" ,
94
+ "SETLIST" ,
95
+ "CLOSURE" ,
96
+ "VARARG" ,
97
+ "VARARGPREP" ,
98
+ "EXTRAARG" ,
99
+ NULL
100
+ };
101
+
102
+ #endif
103
+
Original file line number Diff line number Diff line change
1
+ /*
2
+ ** $Id: lprefix.h $
3
+ ** Definitions for Lua code that must come before any other header file
4
+ ** See Copyright Notice in lua.h
5
+ */
6
+
7
+ #ifndef lprefix_h
8
+ #define lprefix_h
9
+
10
+
11
+ /*
12
+ ** Allows POSIX/XSI stuff
13
+ */
14
+ #if !defined(LUA_USE_C89 ) /* { */
15
+
16
+ #if !defined(_XOPEN_SOURCE )
17
+ #define _XOPEN_SOURCE 600
18
+ #elif _XOPEN_SOURCE == 0
19
+ #undef _XOPEN_SOURCE /* use -D_XOPEN_SOURCE=0 to undefine it */
20
+ #endif
21
+
22
+ /*
23
+ ** Allows manipulation of large files in gcc and some other compilers
24
+ */
25
+ #if !defined(LUA_32BITS ) && !defined(_FILE_OFFSET_BITS )
26
+ #define _LARGEFILE_SOURCE 1
27
+ #define _FILE_OFFSET_BITS 64
28
+ #endif
29
+
30
+ #endif /* } */
31
+
32
+
33
+ /*
34
+ ** Windows stuff
35
+ */
36
+ #if defined(_WIN32 ) /* { */
37
+
38
+ #if !defined(_CRT_SECURE_NO_WARNINGS )
39
+ #define _CRT_SECURE_NO_WARNINGS /* avoid warnings about ISO C functions */
40
+ #endif
41
+
42
+ #endif /* } */
43
+
44
+ #endif
45
+
You can’t perform that action at this time.
0 commit comments