From 1817dfc3016efc09cfa2c7aee06b22fe1d130652 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Wed, 4 Mar 2009 10:32:29 -0300 Subject: initial separation, in CallInfo, of what is relevant only to Lua functions or only to C functions --- ldo.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'ldo.c') diff --git a/ldo.c b/ldo.c index 15764948..effef571 100644 --- a/ldo.c +++ b/ldo.c @@ -1,5 +1,5 @@ /* -** $Id: ldo.c,v 2.52 2009/02/18 14:52:03 roberto Exp roberto $ +** $Id: ldo.c,v 2.53 2009/03/03 18:51:24 roberto Exp roberto $ ** Stack and Call structure of Lua ** See Copyright Notice in lua.h */ @@ -289,7 +289,7 @@ int luaD_precall (lua_State *L, StkId func, int nresults) { ci->top = L->base + p->maxstacksize; lua_assert(ci->top <= L->stack_last); L->savedpc = p->code; /* starting point */ - ci->tailcalls = 0; + ci->u.l.tailcalls = 0; ci->callstatus = CIST_LUA; ci->nresults = nresults; for (st = L->top; st < ci->top; st++) @@ -328,8 +328,8 @@ static StkId callrethooks (lua_State *L, StkId firstResult) { ptrdiff_t fr = savestack(L, firstResult); /* next call may change stack */ luaD_callhook(L, LUA_HOOKRET, -1); if (isLua(L->ci)) { /* Lua function? */ - while ((L->hookmask & LUA_MASKRET) && L->ci->tailcalls--) /* tail calls */ - luaD_callhook(L, LUA_HOOKTAILRET, -1); + while ((L->hookmask & LUA_MASKRET) && L->ci->u.l.tailcalls--) + luaD_callhook(L, LUA_HOOKTAILRET, -1); /* ret. hooks for tail calls */ } return restorestack(L, fr); } -- cgit v1.2.3-55-g6feb