From fd22ccd6d020bca1039626ee0c7de42b237a5686 Mon Sep 17 00:00:00 2001 From: Roberto Ierusalimschy Date: Fri, 20 Jan 2012 20:05:50 -0200 Subject: object tag keeps variant bits too -> no need for 'isC' field in Closures + more strick typing for closure variants --- lstate.h | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'lstate.h') diff --git a/lstate.h b/lstate.h index b1538239..cff8e202 100644 --- a/lstate.h +++ b/lstate.h @@ -1,5 +1,5 @@ /* -** $Id: lstate.h,v 2.73 2011/08/23 17:24:34 roberto Exp roberto $ +** $Id: lstate.h,v 2.74 2011/09/30 12:45:07 roberto Exp roberto $ ** Global State ** See Copyright Notice in lua.h */ @@ -197,7 +197,10 @@ union GCObject { #define gco2ts(o) (&rawgco2ts(o)->tsv) #define rawgco2u(o) check_exp((o)->gch.tt == LUA_TUSERDATA, &((o)->u)) #define gco2u(o) (&rawgco2u(o)->uv) -#define gco2cl(o) check_exp((o)->gch.tt == LUA_TFUNCTION, &((o)->cl)) +#define gco2lcl(o) check_exp((o)->gch.tt == LUA_TLCL, &((o)->cl.l)) +#define gco2ccl(o) check_exp((o)->gch.tt == LUA_TCCL, &((o)->cl.c)) +#define gco2cl(o) \ + check_exp(novariant((o)->gch.tt) == LUA_TFUNCTION, &((o)->cl)) #define gco2t(o) check_exp((o)->gch.tt == LUA_TTABLE, &((o)->h)) #define gco2p(o) check_exp((o)->gch.tt == LUA_TPROTO, &((o)->p)) #define gco2uv(o) check_exp((o)->gch.tt == LUA_TUPVAL, &((o)->uv)) -- cgit v1.2.3-55-g6feb