diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-07-30 19:00:50 -0300 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1997-07-30 19:00:50 -0300 |
commit | 0892f0e5b75c51f1fee07276a3ba13301b83409e (patch) | |
tree | 9f3b9ec92f26c05a85c826ffc5f803fda2f48867 /opcode.h | |
parent | 1d7857bc635c0bfe7c5b1f325d31feb7660e9a5a (diff) | |
download | lua-0892f0e5b75c51f1fee07276a3ba13301b83409e.tar.gz lua-0892f0e5b75c51f1fee07276a3ba13301b83409e.tar.bz2 lua-0892f0e5b75c51f1fee07276a3ba13301b83409e.zip |
BIG CHANGE: functions have their own "constant table".
Diffstat (limited to 'opcode.h')
-rw-r--r-- | opcode.h | 12 |
1 files changed, 3 insertions, 9 deletions
@@ -1,6 +1,6 @@ | |||
1 | /* | 1 | /* |
2 | ** TeCGraf - PUC-Rio | 2 | ** TeCGraf - PUC-Rio |
3 | ** $Id: opcode.h,v 3.35 1997/07/04 14:55:37 roberto Exp roberto $ | 3 | ** $Id: opcode.h,v 3.36 1997/07/29 20:38:06 roberto Exp roberto $ |
4 | */ | 4 | */ |
5 | 5 | ||
6 | #ifndef opcode_h | 6 | #ifndef opcode_h |
@@ -47,9 +47,6 @@ PUSH1,/* - 1.0 */ | |||
47 | PUSH2,/* - 2.0 */ | 47 | PUSH2,/* - 2.0 */ |
48 | PUSHBYTE,/* b - (float)b */ | 48 | PUSHBYTE,/* b - (float)b */ |
49 | PUSHWORD,/* w - (float)w */ | 49 | PUSHWORD,/* w - (float)w */ |
50 | PUSHFLOAT,/* f - f */ | ||
51 | PUSHSTRING,/* w - STR[w] */ | ||
52 | PUSHFUNCTION,/* p - FUN(p) */ | ||
53 | PUSHLOCAL0,/* - LOC[0] */ | 50 | PUSHLOCAL0,/* - LOC[0] */ |
54 | PUSHLOCAL1,/* - LOC[1] */ | 51 | PUSHLOCAL1,/* - LOC[1] */ |
55 | PUSHLOCAL2,/* - LOC[2] */ | 52 | PUSHLOCAL2,/* - LOC[2] */ |
@@ -111,6 +108,8 @@ RETCODE,/* b - - */ | |||
111 | SETLINE,/* w - - LINE=w */ | 108 | SETLINE,/* w - - LINE=w */ |
112 | VARARGS,/* b v_b...v_1 {v_1...v_b;n=b} */ | 109 | VARARGS,/* b v_b...v_1 {v_1...v_b;n=b} */ |
113 | STOREMAP,/* b v_b k_b ...v_1 k_1 t - t[k_i]=v_i */ | 110 | STOREMAP,/* b v_b k_b ...v_1 k_1 t - t[k_i]=v_i */ |
111 | PUSHCONSTANTB,/*b - const[b] */ | ||
112 | PUSHCONSTANT,/* w - const[w] */ | ||
114 | ENDCODE = 127 | 113 | ENDCODE = 127 |
115 | } OpCode; | 114 | } OpCode; |
116 | 115 | ||
@@ -153,11 +152,6 @@ typedef struct TObject | |||
153 | #define s_fvalue(i) (fvalue(&s_object(i))) | 152 | #define s_fvalue(i) (fvalue(&s_object(i))) |
154 | #define s_uvalue(i) (uvalue(&s_object(i))) | 153 | #define s_uvalue(i) (uvalue(&s_object(i))) |
155 | 154 | ||
156 | #define get_word(code,pc) {memcpy(&code, pc, sizeof(Word)); pc+=sizeof(Word);} | ||
157 | #define get_float(code,pc){memcpy(&code, pc, sizeof(real)); pc+=sizeof(real);} | ||
158 | #define get_code(code,pc) {memcpy(&code, pc, sizeof(TFunc *)); \ | ||
159 | pc+=sizeof(TFunc *);} | ||
160 | |||
161 | 155 | ||
162 | /* Exported functions */ | 156 | /* Exported functions */ |
163 | void lua_parse (TFunc *tf); /* from "lua.stx" module */ | 157 | void lua_parse (TFunc *tf); /* from "lua.stx" module */ |