diff options
author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1999-11-25 16:59:43 -0200 |
---|---|---|
committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 1999-11-25 16:59:43 -0200 |
commit | 33b8a010324863ddb495768ebe9e92403c5116c8 (patch) | |
tree | 4007dcc42001b36e739a3af6366547b88dd8ad7b /lvm.c | |
parent | d29ce757376dd309f097e8ff30dd2a9b14567575 (diff) | |
download | lua-33b8a010324863ddb495768ebe9e92403c5116c8.tar.gz lua-33b8a010324863ddb495768ebe9e92403c5116c8.tar.bz2 lua-33b8a010324863ddb495768ebe9e92403c5116c8.zip |
new way to code CALLs + passing multiple arguments between function calls
Diffstat (limited to 'lvm.c')
-rw-r--r-- | lvm.c | 11 |
1 files changed, 3 insertions, 8 deletions
@@ -1,5 +1,5 @@ | |||
1 | /* | 1 | /* |
2 | ** $Id: lvm.c,v 1.65 1999/11/04 17:22:26 roberto Exp roberto $ | 2 | ** $Id: lvm.c,v 1.66 1999/11/22 13:12:07 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 | */ |
@@ -325,11 +325,11 @@ StkId luaV_execute (lua_State *L, const Closure *cl, const TProtoFunc *tf, StkId | |||
325 | goto ret; | 325 | goto ret; |
326 | 326 | ||
327 | case CALL: aux = *pc++; | 327 | case CALL: aux = *pc++; |
328 | luaD_calln(L, *pc++, aux); | 328 | luaD_call(L, (S->stack+base) + *pc++, aux); |
329 | break; | 329 | break; |
330 | 330 | ||
331 | case TAILCALL: aux = *pc++; | 331 | case TAILCALL: aux = *pc++; |
332 | luaD_calln(L, *pc++, MULT_RET); | 332 | luaD_call(L, (S->stack+base) + *pc++, MULT_RET); |
333 | base += aux; | 333 | base += aux; |
334 | goto ret; | 334 | goto ret; |
335 | 335 | ||
@@ -604,11 +604,6 @@ StkId luaV_execute (lua_State *L, const Closure *cl, const TProtoFunc *tf, StkId | |||
604 | aux = highbyte(L, highbyte(L, aux)); | 604 | aux = highbyte(L, highbyte(L, aux)); |
605 | goto switchentry; /* do not reset "aux" */ | 605 | goto switchentry; /* do not reset "aux" */ |
606 | 606 | ||
607 | case CHECKSTACK: aux = *pc++; | ||
608 | LUA_ASSERT(L, (S->top-S->stack)-base == aux && S->last >= S->top, | ||
609 | "wrong stack size"); | ||
610 | break; | ||
611 | |||
612 | } | 607 | } |
613 | } ret: | 608 | } ret: |
614 | if (L->callhook) | 609 | if (L->callhook) |