aboutsummaryrefslogtreecommitdiff
path: root/opcode.h
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>1997-07-30 19:00:50 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>1997-07-30 19:00:50 -0300
commit0892f0e5b75c51f1fee07276a3ba13301b83409e (patch)
tree9f3b9ec92f26c05a85c826ffc5f803fda2f48867 /opcode.h
parent1d7857bc635c0bfe7c5b1f325d31feb7660e9a5a (diff)
downloadlua-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.h12
1 files changed, 3 insertions, 9 deletions
diff --git a/opcode.h b/opcode.h
index d4a73dce..386cec36 100644
--- a/opcode.h
+++ b/opcode.h
@@ -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 */
47PUSH2,/* - 2.0 */ 47PUSH2,/* - 2.0 */
48PUSHBYTE,/* b - (float)b */ 48PUSHBYTE,/* b - (float)b */
49PUSHWORD,/* w - (float)w */ 49PUSHWORD,/* w - (float)w */
50PUSHFLOAT,/* f - f */
51PUSHSTRING,/* w - STR[w] */
52PUSHFUNCTION,/* p - FUN(p) */
53PUSHLOCAL0,/* - LOC[0] */ 50PUSHLOCAL0,/* - LOC[0] */
54PUSHLOCAL1,/* - LOC[1] */ 51PUSHLOCAL1,/* - LOC[1] */
55PUSHLOCAL2,/* - LOC[2] */ 52PUSHLOCAL2,/* - LOC[2] */
@@ -111,6 +108,8 @@ RETCODE,/* b - - */
111SETLINE,/* w - - LINE=w */ 108SETLINE,/* w - - LINE=w */
112VARARGS,/* b v_b...v_1 {v_1...v_b;n=b} */ 109VARARGS,/* b v_b...v_1 {v_1...v_b;n=b} */
113STOREMAP,/* b v_b k_b ...v_1 k_1 t - t[k_i]=v_i */ 110STOREMAP,/* b v_b k_b ...v_1 k_1 t - t[k_i]=v_i */
111PUSHCONSTANTB,/*b - const[b] */
112PUSHCONSTANT,/* w - const[w] */
114ENDCODE = 127 113ENDCODE = 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 */
163void lua_parse (TFunc *tf); /* from "lua.stx" module */ 157void lua_parse (TFunc *tf); /* from "lua.stx" module */