aboutsummaryrefslogtreecommitdiff
path: root/lvm.c
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>1998-01-12 11:35:37 -0200
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>1998-01-12 11:35:37 -0200
commitf0dffaa209d80b9852e873830243245c1facdd05 (patch)
tree562ac67e30c59242ae862bb3db2f4c7a670565b9 /lvm.c
parent77a6836fef12a6383d1c9eb1587aa5afa30c9b5a (diff)
downloadlua-f0dffaa209d80b9852e873830243245c1facdd05.tar.gz
lua-f0dffaa209d80b9852e873830243245c1facdd05.tar.bz2
lua-f0dffaa209d80b9852e873830243245c1facdd05.zip
new way to hanlde arg information
Diffstat (limited to 'lvm.c')
-rw-r--r--lvm.c22
1 files changed, 7 insertions, 15 deletions
diff --git a/lvm.c b/lvm.c
index 0fcaff2c..3140b4e4 100644
--- a/lvm.c
+++ b/lvm.c
@@ -1,5 +1,5 @@
1/* 1/*
2** $Id: lvm.c,v 1.20 1997/12/29 17:35:46 roberto Exp roberto $ 2** $Id: lvm.c,v 1.21 1997/12/30 19:08:23 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*/
@@ -289,6 +289,12 @@ StkId luaV_execute (Closure *cl, TProtoFunc *tf, StkId base)
289 if (lua_callhook) 289 if (lua_callhook)
290 luaD_callHook(base, tf, 0); 290 luaD_callHook(base, tf, 0);
291 luaD_checkstack((*pc++)+EXTRA_STACK); 291 luaD_checkstack((*pc++)+EXTRA_STACK);
292 if (*pc < ZEROVARARG)
293 luaD_adjusttop(base+*(pc++));
294 else { /* varargs */
295 luaC_checkGC();
296 adjust_varargs(base+(*pc++)-ZEROVARARG);
297 }
292 while (1) { 298 while (1) {
293 int aux; 299 int aux;
294 switch ((OpCode)(aux = *pc++)) { 300 switch ((OpCode)(aux = *pc++)) {
@@ -473,20 +479,6 @@ StkId luaV_execute (Closure *cl, TProtoFunc *tf, StkId base)
473 S->top -= (aux+1); 479 S->top -= (aux+1);
474 break; 480 break;
475 481
476 case ARGS:
477 aux = *pc++; goto args;
478
479 case ARGS0: case ARGS1: case ARGS2: case ARGS3:
480 aux -= ARGS0;
481 args:
482 luaD_adjusttop(base+aux);
483 break;
484
485 case VARARGS:
486 luaC_checkGC();
487 adjust_varargs(base+(*pc++));
488 break;
489
490 case CREATEARRAYW: 482 case CREATEARRAYW:
491 aux = next_word(pc); goto createarray; 483 aux = next_word(pc); goto createarray;
492 484