From 7612f7735d32e298774d5379e847afb5e2a978ad Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy <roberto@inf.puc-rio.br> Date: Fri, 3 Nov 2017 17:33:22 -0200 Subject: removing uses of 'CallInfo' --- lvm.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) (limited to 'lvm.c') diff --git a/lvm.c b/lvm.c index ce15d61b..28952da0 100644 --- a/lvm.c +++ b/lvm.c @@ -1,5 +1,5 @@ /* -** $Id: lvm.c,v 2.302 2017/11/03 12:12:30 roberto Exp roberto $ +** $Id: lvm.c,v 2.303 2017/11/03 17:22:54 roberto Exp roberto $ ** Lua virtual machine ** See Copyright Notice in lua.h */ @@ -754,11 +754,11 @@ void luaV_finishOp (lua_State *L) { ** Execute a jump instruction. The 'updatemask' allows signals to stop ** tight loops. (Without it, the local copy of 'mask' could never change.) */ -#define dojump(ci,i,e) { pc += GETARG_sBx(i) + e; updatemask(L); } +#define dojump(i,e) { pc += GETARG_sBx(i) + e; updatemask(L); } /* for test instructions, execute the jump instruction that follows it */ -#define donextjump(ci) { i = *pc; dojump(ci, i, 1); } +#define donextjump() { i = *pc; dojump(i, 1); } /* ** Whenever code can raise errors (including memory errors), the global @@ -1286,7 +1286,7 @@ void luaV_execute (lua_State *L) { vmbreak; } vmcase(OP_JMP) { - dojump(ci, i, 0); + dojump(i, 0); vmbreak; } vmcase(OP_EQ) { @@ -1296,7 +1296,7 @@ void luaV_execute (lua_State *L) { if (luaV_equalobj(L, rb, rc) != GETARG_A(i)) pc++; else - donextjump(ci); + donextjump(); ) vmbreak; } @@ -1312,7 +1312,7 @@ void luaV_execute (lua_State *L) { if (res != GETARG_A(i)) pc++; else - donextjump(ci); + donextjump(); vmbreak; } vmcase(OP_LE) { @@ -1327,14 +1327,14 @@ void luaV_execute (lua_State *L) { if (res != GETARG_A(i)) pc++; else - donextjump(ci); + donextjump(); vmbreak; } vmcase(OP_TEST) { if (GETARG_C(i) ? l_isfalse(s2v(ra)) : !l_isfalse(s2v(ra))) pc++; else - donextjump(ci); + donextjump(); vmbreak; } vmcase(OP_TESTSET) { @@ -1343,7 +1343,7 @@ void luaV_execute (lua_State *L) { pc++; else { setobj2s(L, ra, rb); - donextjump(ci); + donextjump(); } vmbreak; } @@ -1377,9 +1377,7 @@ void luaV_execute (lua_State *L) { } else { /* tail call: put called frame (n) in place of caller one (o) */ - CallInfo *nci = L->ci; /* called frame (new) */ - CallInfo *oci = nci->previous; /* caller frame (old) */ - StkId nfunc = nci->func; /* called function */ + StkId nfunc = L->func; /* called function */ StkId ofunc = nfunc - nfunc->stkci.previous; /* caller function */ /* last stack slot filled by 'precall' */ StkId lim = nfunc + 1 + getproto(s2v(nfunc))->numparams; @@ -1393,7 +1391,7 @@ void luaV_execute (lua_State *L) { L->top = functop(ofunc); /* correct top */ ofunc->stkci.u.l.savedpc = nfunc->stkci.u.l.savedpc; callstatus(ofunc) |= CIST_TAIL; /* function was tail called */ - ci = L->ci = oci; /* remove new frame */ + ci = L->ci = L->ci->previous; /* remove new frame */ base = ofunc + 1; L->func = ofunc; lua_assert(L->top == base + getproto(s2v(ofunc))->maxstacksize); -- cgit v1.2.3-55-g6feb