summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoberto Ierusalimschy <roberto@inf.puc-rio.br>2014-06-19 15:27:20 -0300
committerRoberto Ierusalimschy <roberto@inf.puc-rio.br>2014-06-19 15:27:20 -0300
commit89b56e7d84d84de58fcc9d540c2003c6c2f8c134 (patch)
tree85ba9c3aa3cdb5ff57fd4f82bf322fb2e75e7292
parent14929f5764a7990dfb62c8792cfdfe03c061da21 (diff)
downloadlua-github-89b56e7d84d84de58fcc9d540c2003c6c2f8c134.tar.gz
more precision between closure types ('LClosure' x 'CClosure')
-rw-r--r--lapi.c8
-rw-r--r--ldo.c8
-rw-r--r--lfunc.c18
-rw-r--r--lfunc.h6
-rw-r--r--lparser.c10
-rw-r--r--lparser.h6
-rw-r--r--lundump.c16
-rw-r--r--lundump.h6
-rw-r--r--lvm.c20
9 files changed, 49 insertions, 49 deletions
diff --git a/lapi.c b/lapi.c
index 106da209..a4b51194 100644
--- a/lapi.c
+++ b/lapi.c
@@ -1,5 +1,5 @@
/*
-** $Id: lapi.c,v 2.217 2014/06/10 19:13:26 roberto Exp roberto $
+** $Id: lapi.c,v 2.218 2014/06/12 19:07:30 roberto Exp roberto $
** Lua API
** See Copyright Notice in lua.h
*/
@@ -580,15 +580,15 @@ LUA_API void lua_pushcclosure (lua_State *L, lua_CFunction fn, int n) {
setfvalue(L->top, fn);
}
else {
- Closure *cl;
+ CClosure *cl;
api_checknelems(L, n);
api_check(L, n <= MAXUPVAL, "upvalue index too large");
luaC_checkGC(L);
cl = luaF_newCclosure(L, n);
- cl->c.f = fn;
+ cl->f = fn;
L->top -= n;
while (n--) {
- setobj2n(L, &cl->c.upvalue[n], L->top + n);
+ setobj2n(L, &cl->upvalue[n], L->top + n);
/* does not need barrier because closure is white */
}
setclCvalue(L, L->top, cl);
diff --git a/ldo.c b/ldo.c
index 6b131d46..d23ba47d 100644
--- a/ldo.c
+++ b/ldo.c
@@ -1,5 +1,5 @@
/*
-** $Id: ldo.c,v 2.121 2014/06/11 16:01:55 roberto Exp roberto $
+** $Id: ldo.c,v 2.122 2014/06/12 19:07:30 roberto Exp roberto $
** Stack and Call structure of Lua
** See Copyright Notice in lua.h
*/
@@ -667,7 +667,7 @@ static void checkmode (lua_State *L, const char *mode, const char *x) {
static void f_parser (lua_State *L, void *ud) {
- Closure *cl;
+ LClosure *cl;
struct SParser *p = cast(struct SParser *, ud);
int c = zgetc(p->z); /* read first character */
if (c == LUA_SIGNATURE[0]) {
@@ -678,8 +678,8 @@ static void f_parser (lua_State *L, void *ud) {
checkmode(L, p->mode, "text");
cl = luaY_parser(L, p->z, &p->buff, &p->dyd, p->name, c);
}
- lua_assert(cl->l.nupvalues == cl->l.p->sizeupvalues);
- luaF_initupvals(L, &cl->l);
+ lua_assert(cl->nupvalues == cl->p->sizeupvalues);
+ luaF_initupvals(L, cl);
}
diff --git a/lfunc.c b/lfunc.c
index 999c35a5..21f826b0 100644
--- a/lfunc.c
+++ b/lfunc.c
@@ -1,5 +1,5 @@
/*
-** $Id: lfunc.c,v 2.41 2014/02/18 13:39:37 roberto Exp roberto $
+** $Id: lfunc.c,v 2.42 2014/06/18 22:59:29 roberto Exp roberto $
** Auxiliary functions to manipulate prototypes and closures
** See Copyright Notice in lua.h
*/
@@ -20,20 +20,20 @@
-Closure *luaF_newCclosure (lua_State *L, int n) {
+CClosure *luaF_newCclosure (lua_State *L, int n) {
GCObject *o = luaC_newobj(L, LUA_TCCL, sizeCclosure(n));
- Closure *c = gco2cl(o);
- c->c.nupvalues = cast_byte(n);
+ CClosure *c = gco2ccl(o);
+ c->nupvalues = cast_byte(n);
return c;
}
-Closure *luaF_newLclosure (lua_State *L, int n) {
+LClosure *luaF_newLclosure (lua_State *L, int n) {
GCObject *o = luaC_newobj(L, LUA_TLCL, sizeLclosure(n));
- Closure *c = gco2cl(o);
- c->l.p = NULL;
- c->l.nupvalues = cast_byte(n);
- while (n--) c->l.upvals[n] = NULL;
+ LClosure *c = gco2lcl(o);
+ c->p = NULL;
+ c->nupvalues = cast_byte(n);
+ while (n--) c->upvals[n] = NULL;
return c;
}
diff --git a/lfunc.h b/lfunc.h
index 3ca72075..5951f9ea 100644
--- a/lfunc.h
+++ b/lfunc.h
@@ -1,5 +1,5 @@
/*
-** $Id: lfunc.h,v 2.12 2014/02/15 13:12:01 roberto Exp roberto $
+** $Id: lfunc.h,v 2.13 2014/02/18 13:39:37 roberto Exp roberto $
** Auxiliary functions to manipulate prototypes and closures
** See Copyright Notice in lua.h
*/
@@ -41,8 +41,8 @@ struct UpVal {
LUAI_FUNC Proto *luaF_newproto (lua_State *L);
-LUAI_FUNC Closure *luaF_newCclosure (lua_State *L, int nelems);
-LUAI_FUNC Closure *luaF_newLclosure (lua_State *L, int nelems);
+LUAI_FUNC CClosure *luaF_newCclosure (lua_State *L, int nelems);
+LUAI_FUNC LClosure *luaF_newLclosure (lua_State *L, int nelems);
LUAI_FUNC void luaF_initupvals (lua_State *L, LClosure *cl);
LUAI_FUNC UpVal *luaF_findupval (lua_State *L, StkId level);
LUAI_FUNC void luaF_close (lua_State *L, StkId level);
diff --git a/lparser.c b/lparser.c
index 86582565..9ad4b8db 100644
--- a/lparser.c
+++ b/lparser.c
@@ -1,5 +1,5 @@
/*
-** $Id: lparser.c,v 2.137 2013/12/18 14:12:03 roberto Exp roberto $
+** $Id: lparser.c,v 2.138 2013/12/30 20:47:58 roberto Exp roberto $
** Lua Parser
** See Copyright Notice in lua.h
*/
@@ -1618,17 +1618,17 @@ static void mainfunc (LexState *ls, FuncState *fs) {
}
-Closure *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff,
- Dyndata *dyd, const char *name, int firstchar) {
+LClosure *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff,
+ Dyndata *dyd, const char *name, int firstchar) {
LexState lexstate;
FuncState funcstate;
- Closure *cl = luaF_newLclosure(L, 1); /* create main closure */
+ LClosure *cl = luaF_newLclosure(L, 1); /* create main closure */
setclLvalue(L, L->top, cl); /* anchor it (to avoid being collected) */
incr_top(L);
lexstate.h = luaH_new(L); /* create table for scanner */
sethvalue(L, L->top, lexstate.h); /* anchor it */
incr_top(L);
- funcstate.f = cl->l.p = luaF_newproto(L);
+ funcstate.f = cl->p = luaF_newproto(L);
funcstate.f->source = luaS_new(L, name); /* create and anchor TString */
luaC_objbarrier(L, funcstate.f, funcstate.f->source);
lexstate.buff = buff;
diff --git a/lparser.h b/lparser.h
index c6a78a79..3ee6f7f0 100644
--- a/lparser.h
+++ b/lparser.h
@@ -1,5 +1,5 @@
/*
-** $Id: lparser.h,v 1.71 2013/04/16 18:46:28 roberto Exp roberto $
+** $Id: lparser.h,v 1.72 2013/08/30 16:01:37 roberto Exp roberto $
** Lua Parser
** See Copyright Notice in lua.h
*/
@@ -113,8 +113,8 @@ typedef struct FuncState {
} FuncState;
-LUAI_FUNC Closure *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff,
- Dyndata *dyd, const char *name, int firstchar);
+LUAI_FUNC LClosure *luaY_parser (lua_State *L, ZIO *z, Mbuffer *buff,
+ Dyndata *dyd, const char *name, int firstchar);
#endif
diff --git a/lundump.c b/lundump.c
index f5d6fcf9..2a9eac28 100644
--- a/lundump.c
+++ b/lundump.c
@@ -1,5 +1,5 @@
/*
-** $Id: lundump.c,v 2.38 2014/06/18 13:19:17 roberto Exp roberto $
+** $Id: lundump.c,v 2.39 2014/06/18 18:35:43 roberto Exp roberto $
** load precompiled Lua chunks
** See Copyright Notice in lua.h
*/
@@ -248,10 +248,10 @@ static void checkHeader (LoadState *S) {
/*
** load precompiled chunk
*/
-Closure *luaU_undump(lua_State *L, ZIO *Z, Mbuffer *buff,
- const char *name) {
+LClosure *luaU_undump(lua_State *L, ZIO *Z, Mbuffer *buff,
+ const char *name) {
LoadState S;
- Closure *cl;
+ LClosure *cl;
if (*name == '@' || *name == '=')
S.name = name + 1;
else if (*name == LUA_SIGNATURE[0])
@@ -265,10 +265,10 @@ Closure *luaU_undump(lua_State *L, ZIO *Z, Mbuffer *buff,
cl = luaF_newLclosure(L, LoadByte(&S));
setclLvalue(L, L->top, cl);
incr_top(L);
- cl->l.p = luaF_newproto(L);
- LoadFunction(&S, cl->l.p, NULL);
- lua_assert(cl->l.nupvalues == cl->l.p->sizeupvalues);
- luai_verifycode(L, buff, cl->l.p);
+ cl->p = luaF_newproto(L);
+ LoadFunction(&S, cl->p, NULL);
+ lua_assert(cl->nupvalues == cl->p->sizeupvalues);
+ luai_verifycode(L, buff, cl->p);
return cl;
}
diff --git a/lundump.h b/lundump.h
index 67f6b57c..45194532 100644
--- a/lundump.h
+++ b/lundump.h
@@ -1,5 +1,5 @@
/*
-** $Id: lundump.h,v 1.42 2014/03/11 14:22:54 roberto Exp roberto $
+** $Id: lundump.h,v 1.43 2014/04/15 14:28:20 roberto Exp roberto $
** load precompiled Lua chunks
** See Copyright Notice in lua.h
*/
@@ -23,8 +23,8 @@
#define LUAC_FORMAT 0 /* this is the official format */
/* load one chunk; from lundump.c */
-LUAI_FUNC Closure* luaU_undump (lua_State* L, ZIO* Z, Mbuffer* buff,
- const char* name);
+LUAI_FUNC LClosure* luaU_undump (lua_State* L, ZIO* Z, Mbuffer* buff,
+ const char* name);
/* dump one chunk; from ldump.c */
LUAI_FUNC int luaU_dump (lua_State* L, const Proto* f, lua_Writer w,
diff --git a/lvm.c b/lvm.c
index ec3d29ba..e86008c7 100644
--- a/lvm.c
+++ b/lvm.c
@@ -1,5 +1,5 @@
/*
-** $Id: lvm.c,v 2.214 2014/05/26 17:10:22 roberto Exp roberto $
+** $Id: lvm.c,v 2.215 2014/06/10 18:53:18 roberto Exp roberto $
** Lua virtual machine
** See Copyright Notice in lua.h
*/
@@ -503,15 +503,15 @@ lua_Integer luaV_shiftl (lua_Integer x, lua_Integer y) {
** whether there is a cached closure with the same upvalues needed by
** new closure to be created.
*/
-static Closure *getcached (Proto *p, UpVal **encup, StkId base) {
- Closure *c = p->cache;
+static LClosure *getcached (Proto *p, UpVal **encup, StkId base) {
+ LClosure *c = p->cache;
if (c != NULL) { /* is there a cached closure? */
int nup = p->sizeupvalues;
Upvaldesc *uv = p->upvalues;
int i;
for (i = 0; i < nup; i++) { /* check whether it has right upvalues */
TValue *v = uv[i].instack ? base + uv[i].idx : encup[uv[i].idx]->v;
- if (c->l.upvals[i]->v != v)
+ if (c->upvals[i]->v != v)
return NULL; /* wrong upvalue; cannot reuse closure */
}
}
@@ -530,15 +530,15 @@ static void pushclosure (lua_State *L, Proto *p, UpVal **encup, StkId base,
int nup = p->sizeupvalues;
Upvaldesc *uv = p->upvalues;
int i;
- Closure *ncl = luaF_newLclosure(L, nup);
- ncl->l.p = p;
+ LClosure *ncl = luaF_newLclosure(L, nup);
+ ncl->p = p;
setclLvalue(L, ra, ncl); /* anchor new closure in stack */
for (i = 0; i < nup; i++) { /* fill in its upvalues */
if (uv[i].instack) /* upvalue refers to local variable? */
- ncl->l.upvals[i] = luaF_findupval(L, base + uv[i].idx);
+ ncl->upvals[i] = luaF_findupval(L, base + uv[i].idx);
else /* get upvalue from enclosing function */
- ncl->l.upvals[i] = encup[uv[i].idx];
- ncl->l.upvals[i]->refcount++;
+ ncl->upvals[i] = encup[uv[i].idx];
+ ncl->upvals[i]->refcount++;
/* new closure is white, so we do not need a barrier here */
}
if (!isblack(obj2gco(p))) /* cache will not break GC invariant? */
@@ -1109,7 +1109,7 @@ void luaV_execute (lua_State *L) {
)
vmcase(OP_CLOSURE,
Proto *p = cl->p->p[GETARG_Bx(i)];
- Closure *ncl = getcached(p, cl->upvals, base); /* cached closure */
+ LClosure *ncl = getcached(p, cl->upvals, base); /* cached closure */
if (ncl == NULL) /* no match? */
pushclosure(L, p, cl->upvals, base, ra); /* create a new one */
else