commit 8c1fb918027eea52c229907e3c3e371c7c14923a
parent 33b366ec321646890780b96df96eacb558b82f6d
Author: Roberto Ierusalimschy <roberto@inf.puc-rio.br>
Date: Mon, 2 Nov 2015 14:09:04 -0200
macro 'incr_top' replaced by function 'luaD_inctop'. (It is not used
in critical time pathes, can save a few bytes without the macro)
Diffstat:
5 files changed, 24 insertions(+), 11 deletions(-)
diff --git a/ldo.c b/ldo.c
@@ -1,5 +1,5 @@
/*
-** $Id: ldo.c,v 2.145 2015/11/02 11:48:59 roberto Exp roberto $
+** $Id: ldo.c,v 2.146 2015/11/02 14:06:01 roberto Exp roberto $
** Stack and Call structure of Lua
** See Copyright Notice in lua.h
*/
@@ -150,6 +150,11 @@ int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud) {
/* }====================================================== */
+/*
+** {==================================================================
+** Stack reallocation
+** ===================================================================
+*/
static void correctstack (lua_State *L, TValue *oldstack) {
CallInfo *ci;
UpVal *up;
@@ -229,6 +234,14 @@ void luaD_shrinkstack (lua_State *L) {
}
+void luaD_inctop (lua_State *L) {
+ luaD_checkstack(L, 1);
+ L->top++;
+}
+
+/* }================================================================== */
+
+
void luaD_hook (lua_State *L, int event, int line) {
lua_Hook hook = L->hook;
if (hook && L->allowhook) {
diff --git a/ldo.h b/ldo.h
@@ -1,5 +1,5 @@
/*
-** $Id: ldo.h,v 2.22 2015/05/22 17:48:19 roberto Exp roberto $
+** $Id: ldo.h,v 2.23 2015/10/21 18:40:47 roberto Exp roberto $
** Stack and Call structure of Lua
** See Copyright Notice in lua.h
*/
@@ -28,7 +28,6 @@
#define luaD_checkstack(L,n) luaD_checkstackaux(L,n,,)
-#define incr_top(L) {L->top++; luaD_checkstack(L,0);}
#define savestack(L,p) ((char *)(p) - (char *)L->stack)
#define restorestack(L,n) ((TValue *)((char *)L->stack + (n)))
@@ -49,6 +48,7 @@ LUAI_FUNC int luaD_poscall (lua_State *L, StkId firstResult, int nres);
LUAI_FUNC void luaD_reallocstack (lua_State *L, int newsize);
LUAI_FUNC void luaD_growstack (lua_State *L, int n);
LUAI_FUNC void luaD_shrinkstack (lua_State *L);
+LUAI_FUNC void luaD_inctop (lua_State *L);
LUAI_FUNC l_noret luaD_throw (lua_State *L, int errcode);
LUAI_FUNC int luaD_rawrunprotected (lua_State *L, Pfunc f, void *ud);
diff --git a/lobject.c b/lobject.c
@@ -1,5 +1,5 @@
/*
-** $Id: lobject.c,v 2.106 2015/06/26 19:32:07 roberto Exp roberto $
+** $Id: lobject.c,v 2.107 2015/11/02 14:02:35 roberto Exp roberto $
** Some generic functions over Lua objects
** See Copyright Notice in lua.h
*/
@@ -347,7 +347,7 @@ void luaO_tostring (lua_State *L, StkId obj) {
static void pushstr (lua_State *L, const char *str, size_t l) {
setsvalue2s(L, L->top, luaS_newlstr(L, str, l));
- incr_top(L);
+ luaD_inctop(L);
}
@@ -385,7 +385,7 @@ const char *luaO_pushvfstring (lua_State *L, const char *fmt, va_list argp) {
case 'f': {
setfltvalue(L->top, cast_num(va_arg(argp, l_uacNumber)));
top2str:
- incr_top(L);
+ luaD_inctop(L);
luaO_tostring(L, L->top - 1);
break;
}
diff --git a/lparser.c b/lparser.c
@@ -1,5 +1,5 @@
/*
-** $Id: lparser.c,v 2.147 2014/12/27 20:31:43 roberto Exp roberto $
+** $Id: lparser.c,v 2.148 2015/10/28 17:28:40 roberto Exp roberto $
** Lua Parser
** See Copyright Notice in lua.h
*/
@@ -1627,10 +1627,10 @@ LClosure *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff,
FuncState funcstate;
LClosure *cl = luaF_newLclosure(L, 1); /* create main closure */
setclLvalue(L, L->top, cl); /* anchor it (to avoid being collected) */
- incr_top(L);
+ luaD_inctop(L);
lexstate.h = luaH_new(L); /* create table for scanner */
sethvalue(L, L->top, lexstate.h); /* anchor it */
- incr_top(L);
+ luaD_inctop(L);
funcstate.f = cl->p = luaF_newproto(L);
funcstate.f->source = luaS_new(L, name); /* create and anchor TString */
lua_assert(iswhite(funcstate.f)); /* do not need barrier here */
diff --git a/lundump.c b/lundump.c
@@ -1,5 +1,5 @@
/*
-** $Id: lundump.c,v 2.42 2015/09/08 15:41:05 roberto Exp roberto $
+** $Id: lundump.c,v 2.43 2015/09/17 15:51:05 roberto Exp roberto $
** load precompiled Lua chunks
** See Copyright Notice in lua.h
*/
@@ -269,7 +269,7 @@ LClosure *luaU_undump(lua_State *L, ZIO *Z, const char *name) {
checkHeader(&S);
cl = luaF_newLclosure(L, LoadByte(&S));
setclLvalue(L, L->top, cl);
- incr_top(L);
+ luaD_inctop(L);
cl->p = luaF_newproto(L);
LoadFunction(&S, cl->p, NULL);
lua_assert(cl->nupvalues == cl->p->sizeupvalues);