new way to code CALLs + passing multiple arguments between function calls

This commit is contained in:
Roberto Ierusalimschy
1999-11-25 16:59:43 -02:00
parent d29ce75737
commit 33b8a01032
3 changed files with 22 additions and 32 deletions

11
lvm.c
View File

@@ -1,5 +1,5 @@
/*
** $Id: lvm.c,v 1.65 1999/11/04 17:22:26 roberto Exp roberto $
** $Id: lvm.c,v 1.66 1999/11/22 13:12:07 roberto Exp roberto $
** Lua virtual machine
** See Copyright Notice in lua.h
*/
@@ -325,11 +325,11 @@ StkId luaV_execute (lua_State *L, const Closure *cl, const TProtoFunc *tf, StkId
goto ret;
case CALL: aux = *pc++;
luaD_calln(L, *pc++, aux);
luaD_call(L, (S->stack+base) + *pc++, aux);
break;
case TAILCALL: aux = *pc++;
luaD_calln(L, *pc++, MULT_RET);
luaD_call(L, (S->stack+base) + *pc++, MULT_RET);
base += aux;
goto ret;
@@ -604,11 +604,6 @@ StkId luaV_execute (lua_State *L, const Closure *cl, const TProtoFunc *tf, StkId
aux = highbyte(L, highbyte(L, aux));
goto switchentry; /* do not reset "aux" */
case CHECKSTACK: aux = *pc++;
LUA_ASSERT(L, (S->top-S->stack)-base == aux && S->last >= S->top,
"wrong stack size");
break;
}
} ret:
if (L->callhook)