aboutsummaryrefslogtreecommitdiff
path: root/lvm.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>1999-08-16 17:52:00 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>1999-08-16 17:52:00 -0300
commitc787dccd9b5c3e55547a2c4bb598c0276de65034 (patch)
treec4cdf2f7319fee48e048472a2044119f541e8da2 /lvm.c
parentb44e35b773bcaa9891d80a117392911ab5f656e5 (diff)
downloadlua-c787dccd9b5c3e55547a2c4bb598c0276de65034.tar.gz
lua-c787dccd9b5c3e55547a2c4bb598c0276de65034.tar.bz2
lua-c787dccd9b5c3e55547a2c4bb598c0276de65034.zip
"const" !!!
Diffstat (limited to 'lvm.c')
-rw-r--r--lvm.c39
1 files changed, 18 insertions, 21 deletions
diff --git a/lvm.c b/lvm.c
index 0da22600..62060d90 100644
--- a/lvm.c
+++ b/lvm.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lvm.c,v 1.58 1999/06/22 20:37:23 roberto Exp roberto $ 2** $Id: lvm.c,v 1.59 1999/08/10 12:55:47 roberto Exp roberto $
3** Lua virtual machine 3** Lua virtual machine
4** See Copyright Notice in lua.h 4** See Copyright Notice in lua.h
5*/ 5*/
@@ -114,7 +114,7 @@ void luaV_closure (int nelems) {
114*/ 114*/
115void luaV_gettable (void) { 115void luaV_gettable (void) {
116 TObject *table = L->stack.top-2; 116 TObject *table = L->stack.top-2;
117 TObject *im; 117 const TObject *im;
118 if (ttype(table) != LUA_T_ARRAY) { /* not a table, get gettable method */ 118 if (ttype(table) != LUA_T_ARRAY) { /* not a table, get gettable method */
119 im = luaT_getimbyObj(table, IM_GETTABLE); 119 im = luaT_getimbyObj(table, IM_GETTABLE);
120 if (ttype(im) == LUA_T_NIL) 120 if (ttype(im) == LUA_T_NIL)
@@ -146,9 +146,9 @@ void luaV_gettable (void) {
146/* 146/*
147** Receives table at *t, index at *(t+1) and value at top. 147** Receives table at *t, index at *(t+1) and value at top.
148*/ 148*/
149void luaV_settable (TObject *t) { 149void luaV_settable (const TObject *t) {
150 struct Stack *S = &L->stack; 150 struct Stack *S = &L->stack;
151 TObject *im; 151 const TObject *im;
152 if (ttype(t) != LUA_T_ARRAY) { /* not a table, get "settable" method */ 152 if (ttype(t) != LUA_T_ARRAY) { /* not a table, get "settable" method */
153 im = luaT_getimbyObj(t, IM_SETTABLE); 153 im = luaT_getimbyObj(t, IM_SETTABLE);
154 if (ttype(im) == LUA_T_NIL) 154 if (ttype(im) == LUA_T_NIL)
@@ -173,7 +173,7 @@ void luaV_settable (TObject *t) {
173} 173}
174 174
175 175
176void luaV_rawsettable (TObject *t) { 176void luaV_rawsettable (const TObject *t) {
177 if (ttype(t) != LUA_T_ARRAY) 177 if (ttype(t) != LUA_T_ARRAY)
178 lua_error("indexed expression not a table"); 178 lua_error("indexed expression not a table");
179 else { 179 else {
@@ -186,7 +186,7 @@ void luaV_rawsettable (TObject *t) {
186 186
187void luaV_getglobal (TaggedString *ts) { 187void luaV_getglobal (TaggedString *ts) {
188 /* WARNING: caller must assure stack space */ 188 /* WARNING: caller must assure stack space */
189 TObject *value = &ts->u.s.globalval; 189 const TObject *value = &ts->u.s.globalval;
190 switch (ttype(value)) { 190 switch (ttype(value)) {
191 /* only userdata, tables and nil can have getglobal tag methods */ 191 /* only userdata, tables and nil can have getglobal tag methods */
192 case LUA_T_USERDATA: case LUA_T_ARRAY: case LUA_T_NIL: { 192 case LUA_T_USERDATA: case LUA_T_ARRAY: case LUA_T_NIL: {
@@ -208,8 +208,8 @@ void luaV_getglobal (TaggedString *ts) {
208 208
209 209
210void luaV_setglobal (TaggedString *ts) { 210void luaV_setglobal (TaggedString *ts) {
211 TObject *oldvalue = &ts->u.s.globalval; 211 const TObject *oldvalue = &ts->u.s.globalval;
212 TObject *im = luaT_getimbyObj(oldvalue, IM_SETGLOBAL); 212 const TObject *im = luaT_getimbyObj(oldvalue, IM_SETGLOBAL);
213 if (ttype(im) == LUA_T_NIL) /* is there a tag method? */ 213 if (ttype(im) == LUA_T_NIL) /* is there a tag method? */
214 luaS_rawsetglobal(ts, --L->stack.top); 214 luaS_rawsetglobal(ts, --L->stack.top);
215 else { 215 else {
@@ -226,9 +226,9 @@ void luaV_setglobal (TaggedString *ts) {
226} 226}
227 227
228 228
229static void call_binTM (IMS event, char *msg) 229static void call_binTM (IMS event, const char *msg) {
230{ 230 /* try first operand */
231 TObject *im = luaT_getimbyObj(L->stack.top-2, event);/* try first operand */ 231 const TObject *im = luaT_getimbyObj(L->stack.top-2, event);
232 if (ttype(im) == LUA_T_NIL) { 232 if (ttype(im) == LUA_T_NIL) {
233 im = luaT_getimbyObj(L->stack.top-1, event); /* try second operand */ 233 im = luaT_getimbyObj(L->stack.top-1, event); /* try second operand */
234 if (ttype(im) == LUA_T_NIL) { 234 if (ttype(im) == LUA_T_NIL) {
@@ -242,14 +242,12 @@ static void call_binTM (IMS event, char *msg)
242} 242}
243 243
244 244
245static void call_arith (IMS event) 245static void call_arith (IMS event) {
246{
247 call_binTM(event, "unexpected type in arithmetic operation"); 246 call_binTM(event, "unexpected type in arithmetic operation");
248} 247}
249 248
250 249
251static int luaV_strcomp (char *l, long ll, char *r, long lr) 250static int luaV_strcomp (const char *l, long ll, const char *r, long lr) {
252{
253 for (;;) { 251 for (;;) {
254 long temp = strcoll(l, r); 252 long temp = strcoll(l, r);
255 if (temp != 0) return temp; 253 if (temp != 0) return temp;
@@ -268,8 +266,8 @@ static int luaV_strcomp (char *l, long ll, char *r, long lr)
268void luaV_comparison (lua_Type ttype_less, lua_Type ttype_equal, 266void luaV_comparison (lua_Type ttype_less, lua_Type ttype_equal,
269 lua_Type ttype_great, IMS op) { 267 lua_Type ttype_great, IMS op) {
270 struct Stack *S = &L->stack; 268 struct Stack *S = &L->stack;
271 TObject *l = S->top-2; 269 const TObject *l = S->top-2;
272 TObject *r = S->top-1; 270 const TObject *r = S->top-1;
273 real result; 271 real result;
274 if (ttype(l) == LUA_T_NUMBER && ttype(r) == LUA_T_NUMBER) 272 if (ttype(l) == LUA_T_NUMBER && ttype(r) == LUA_T_NUMBER)
275 result = nvalue(l)-nvalue(r); 273 result = nvalue(l)-nvalue(r);
@@ -300,8 +298,7 @@ void luaV_pack (StkId firstel, int nvararg, TObject *tab) {
300} 298}
301 299
302 300
303static void adjust_varargs (StkId first_extra_arg) 301static void adjust_varargs (StkId first_extra_arg) {
304{
305 TObject arg; 302 TObject arg;
306 luaV_pack(first_extra_arg, 303 luaV_pack(first_extra_arg,
307 (L->stack.top-L->stack.stack)-first_extra_arg, &arg); 304 (L->stack.top-L->stack.stack)-first_extra_arg, &arg);
@@ -318,8 +315,8 @@ static void adjust_varargs (StkId first_extra_arg)
318*/ 315*/
319StkId luaV_execute (Closure *cl, TProtoFunc *tf, StkId base) { 316StkId luaV_execute (Closure *cl, TProtoFunc *tf, StkId base) {
320 struct Stack *S = &L->stack; /* to optimize */ 317 struct Stack *S = &L->stack; /* to optimize */
321 register Byte *pc = tf->code; 318 register const Byte *pc = tf->code;
322 TObject *consts = tf->consts; 319 const TObject *consts = tf->consts;
323 if (L->callhook) 320 if (L->callhook)
324 luaD_callHook(base, tf, 0); 321 luaD_callHook(base, tf, 0);
325 luaD_checkstack((*pc++)+EXTRA_STACK); 322 luaD_checkstack((*pc++)+EXTRA_STACK);