From 89e3a843442679252773a29114c8552e3f59777d Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Fri, 13 Nov 2015 10:16:51 -0200 Subject: [PATCH] removed field 'n' from 'CallInfo' (not being used right now) --- lstate.c | 25 +++++++++++-------------- lstate.h | 3 +-- 2 files changed, 12 insertions(+), 16 deletions(-) diff --git a/lstate.c b/lstate.c index 4d6fcc1b..11299d37 100644 --- a/lstate.c +++ b/lstate.c @@ -1,5 +1,5 @@ /* -** $Id: lstate.c,v 2.131 2015/10/20 13:11:05 roberto Exp roberto $ +** $Id: lstate.c,v 2.132 2015/11/02 16:01:41 roberto Exp roberto $ ** Global State ** See Copyright Notice in lua.h */ @@ -111,7 +111,7 @@ CallInfo *luaE_extendCI (lua_State *L) { L->ci->next = ci; ci->previous = L->ci; ci->next = NULL; - ci->n = ++L->nci; + L->nci++; return ci; } @@ -126,8 +126,8 @@ void luaE_freeCI (lua_State *L) { while ((ci = next) != NULL) { next = ci->next; luaM_free(L, ci); + L->nci--; } - L->nci = L->ci->n; } @@ -136,17 +136,15 @@ void luaE_freeCI (lua_State *L) { */ void luaE_shrinkCI (lua_State *L) { CallInfo *ci = L->ci; - CallInfo *next; - int n = (L->nci - ci->n + 1)/2; /* number of entries to be preserved */ - for (; n > 0; n--) - ci = ci->next; /* skip items to be preserved */ - lua_assert(n == 0); - while ((next = ci->next) != NULL) { /* remove all other items */ - ci->next = next->next; - luaM_free(L, next); /* remove item */ - n++; /* count number of removed items */ + CallInfo *next2; /* next's next */ + /* while there are two nexts */ + while (ci->next != NULL && (next2 = ci->next->next) != NULL) { + luaM_free(L, ci->next); /* free next */ + L->nci--; + ci->next = next2; /* remove 'next' from the list */ + next2->previous = ci; + ci = next2; /* keep next's next */ } - L->nci -= n; } @@ -161,7 +159,6 @@ static void stack_init (lua_State *L1, lua_State *L) { L1->stack_last = L1->stack + L1->stacksize - EXTRA_STACK; /* initialize first ci */ ci = &L1->base_ci; - ci->n = 0; ci->next = ci->previous = NULL; ci->callstatus = 0; ci->func = L1->top; diff --git a/lstate.h b/lstate.h index 4b4577e2..b5ac89c2 100644 --- a/lstate.h +++ b/lstate.h @@ -1,5 +1,5 @@ /* -** $Id: lstate.h,v 2.126 2015/11/02 11:43:17 roberto Exp roberto $ +** $Id: lstate.h,v 2.127 2015/11/02 16:01:41 roberto Exp roberto $ ** Global State ** See Copyright Notice in lua.h */ @@ -78,7 +78,6 @@ typedef struct CallInfo { } c; } u; ptrdiff_t extra; - unsigned short n; /* ordinal number in call list */ short nresults; /* expected number of results from this function */ lu_byte callstatus; } CallInfo;