Browse Source

better names for macros for tags and types.

rttype -> rawtt; ttyperaw -> withvariant; ttype -> ttypetag;
tnov -> ttype
pull/15/head
Roberto Ierusalimschy 7 years ago
parent
commit
ef8263f81f
  1. 32
      lapi.c
  2. 4
      lcode.c
  3. 4
      ldo.c
  4. 6
      ldump.c
  5. 22
      lobject.h
  6. 12
      ltable.c
  7. 8
      ltm.c
  8. 10
      lvm.c

32
lapi.c

@ -1,5 +1,5 @@
/* /*
** $Id: lapi.c,v 2.286 2018/02/23 13:13:31 roberto Exp roberto $ ** $Id: lapi.c,v 2.287 2018/02/25 12:48:16 roberto Exp roberto $
** Lua API ** Lua API
** See Copyright Notice in lua.h ** See Copyright Notice in lua.h
*/ */
@ -257,7 +257,7 @@ LUA_API void lua_pushvalue (lua_State *L, int idx) {
LUA_API int lua_type (lua_State *L, int idx) { LUA_API int lua_type (lua_State *L, int idx) {
const TValue *o = index2value(L, idx); const TValue *o = index2value(L, idx);
return (isvalid(o) ? ttnov(o) : LUA_TNONE); return (isvalid(o) ? ttype(o) : LUA_TNONE);
} }
@ -399,7 +399,7 @@ LUA_API const char *lua_tolstring (lua_State *L, int idx, size_t *len) {
LUA_API lua_Unsigned lua_rawlen (lua_State *L, int idx) { LUA_API lua_Unsigned lua_rawlen (lua_State *L, int idx) {
const TValue *o = index2value(L, idx); const TValue *o = index2value(L, idx);
switch (ttype(o)) { switch (ttypetag(o)) {
case LUA_TSHRSTR: return tsvalue(o)->shrlen; case LUA_TSHRSTR: return tsvalue(o)->shrlen;
case LUA_TLNGSTR: return tsvalue(o)->u.lnglen; case LUA_TLNGSTR: return tsvalue(o)->u.lnglen;
case LUA_TUSERDATA: return uvalue(o)->len; case LUA_TUSERDATA: return uvalue(o)->len;
@ -420,7 +420,7 @@ LUA_API lua_CFunction lua_tocfunction (lua_State *L, int idx) {
LUA_API void *lua_touserdata (lua_State *L, int idx) { LUA_API void *lua_touserdata (lua_State *L, int idx) {
const TValue *o = index2value(L, idx); const TValue *o = index2value(L, idx);
switch (ttnov(o)) { switch (ttype(o)) {
case LUA_TUSERDATA: return getudatamem(uvalue(o)); case LUA_TUSERDATA: return getudatamem(uvalue(o));
case LUA_TLIGHTUSERDATA: return pvalue(o); case LUA_TLIGHTUSERDATA: return pvalue(o);
default: return NULL; default: return NULL;
@ -436,7 +436,7 @@ LUA_API lua_State *lua_tothread (lua_State *L, int idx) {
LUA_API const void *lua_topointer (lua_State *L, int idx) { LUA_API const void *lua_topointer (lua_State *L, int idx) {
const TValue *o = index2value(L, idx); const TValue *o = index2value(L, idx);
switch (ttype(o)) { switch (ttypetag(o)) {
case LUA_TTABLE: return hvalue(o); case LUA_TTABLE: return hvalue(o);
case LUA_TLCL: return clLvalue(o); case LUA_TLCL: return clLvalue(o);
case LUA_TCCL: return clCvalue(o); case LUA_TCCL: return clCvalue(o);
@ -606,7 +606,7 @@ static int auxgetstr (lua_State *L, const TValue *t, const char *k) {
luaV_finishget(L, t, s2v(L->top - 1), L->top - 1, slot); luaV_finishget(L, t, s2v(L->top - 1), L->top - 1, slot);
} }
lua_unlock(L); lua_unlock(L);
return ttnov(s2v(L->top - 1)); return ttype(s2v(L->top - 1));
} }
@ -628,7 +628,7 @@ LUA_API int lua_gettable (lua_State *L, int idx) {
else else
luaV_finishget(L, t, s2v(L->top - 1), L->top - 1, slot); luaV_finishget(L, t, s2v(L->top - 1), L->top - 1, slot);
lua_unlock(L); lua_unlock(L);
return ttnov(s2v(L->top - 1)); return ttype(s2v(L->top - 1));
} }
@ -653,7 +653,7 @@ LUA_API int lua_geti (lua_State *L, int idx, lua_Integer n) {
} }
api_incr_top(L); api_incr_top(L);
lua_unlock(L); lua_unlock(L);
return ttnov(s2v(L->top - 1)); return ttype(s2v(L->top - 1));
} }
@ -664,7 +664,7 @@ static int finishrawget (lua_State *L, const TValue *val) {
setobj2s(L, L->top, val); setobj2s(L, L->top, val);
api_incr_top(L); api_incr_top(L);
lua_unlock(L); lua_unlock(L);
return ttnov(s2v(L->top - 1)); return ttype(s2v(L->top - 1));
} }
@ -749,7 +749,7 @@ LUA_API int lua_getmetatable (lua_State *L, int objindex) {
int res = 0; int res = 0;
lua_lock(L); lua_lock(L);
obj = index2value(L, objindex); obj = index2value(L, objindex);
switch (ttnov(obj)) { switch (ttype(obj)) {
case LUA_TTABLE: case LUA_TTABLE:
mt = hvalue(obj)->metatable; mt = hvalue(obj)->metatable;
break; break;
@ -757,7 +757,7 @@ LUA_API int lua_getmetatable (lua_State *L, int objindex) {
mt = uvalue(obj)->metatable; mt = uvalue(obj)->metatable;
break; break;
default: default:
mt = G(L)->mt[ttnov(obj)]; mt = G(L)->mt[ttype(obj)];
break; break;
} }
if (mt != NULL) { if (mt != NULL) {
@ -782,7 +782,7 @@ LUA_API int lua_getiuservalue (lua_State *L, int idx, int n) {
} }
else { else {
setobj2s(L, L->top, &uvalue(o)->uv[n - 1].uv); setobj2s(L, L->top, &uvalue(o)->uv[n - 1].uv);
t = ttnov(s2v(L->top)); t = ttype(s2v(L->top));
} }
api_incr_top(L); api_incr_top(L);
lua_unlock(L); lua_unlock(L);
@ -917,7 +917,7 @@ LUA_API int lua_setmetatable (lua_State *L, int objindex) {
api_check(L, ttistable(s2v(L->top - 1)), "table expected"); api_check(L, ttistable(s2v(L->top - 1)), "table expected");
mt = hvalue(s2v(L->top - 1)); mt = hvalue(s2v(L->top - 1));
} }
switch (ttnov(obj)) { switch (ttype(obj)) {
case LUA_TTABLE: { case LUA_TTABLE: {
hvalue(obj)->metatable = mt; hvalue(obj)->metatable = mt;
if (mt) { if (mt) {
@ -935,7 +935,7 @@ LUA_API int lua_setmetatable (lua_State *L, int objindex) {
break; break;
} }
default: { default: {
G(L)->mt[ttnov(obj)] = mt; G(L)->mt[ttype(obj)] = mt;
break; break;
} }
} }
@ -1295,7 +1295,7 @@ LUA_API void *lua_newuserdatauv (lua_State *L, size_t size, int nuvalue) {
static const char *aux_upvalue (TValue *fi, int n, TValue **val, static const char *aux_upvalue (TValue *fi, int n, TValue **val,
GCObject **owner) { GCObject **owner) {
switch (ttype(fi)) { switch (ttypetag(fi)) {
case LUA_TCCL: { /* C closure */ case LUA_TCCL: { /* C closure */
CClosure *f = clCvalue(fi); CClosure *f = clCvalue(fi);
if (!(1 <= n && n <= f->nupvalues)) return NULL; if (!(1 <= n && n <= f->nupvalues)) return NULL;
@ -1364,7 +1364,7 @@ static UpVal **getupvalref (lua_State *L, int fidx, int n, LClosure **pf) {
LUA_API void *lua_upvalueid (lua_State *L, int fidx, int n) { LUA_API void *lua_upvalueid (lua_State *L, int fidx, int n) {
TValue *fi = index2value(L, fidx); TValue *fi = index2value(L, fidx);
switch (ttype(fi)) { switch (ttypetag(fi)) {
case LUA_TLCL: { /* lua closure */ case LUA_TLCL: { /* lua closure */
return *getupvalref(L, fidx, n, NULL); return *getupvalref(L, fidx, n, NULL);
} }

4
lcode.c

@ -1,5 +1,5 @@
/* /*
** $Id: lcode.c,v 2.156 2018/02/21 12:54:26 roberto Exp roberto $ ** $Id: lcode.c,v 2.157 2018/02/21 15:49:32 roberto Exp roberto $
** Code generator for Lua ** Code generator for Lua
** See Copyright Notice in lua.h ** See Copyright Notice in lua.h
*/ */
@ -504,7 +504,7 @@ static int addk (FuncState *fs, TValue *key, TValue *v) {
if (ttisinteger(idx)) { /* is there an index there? */ if (ttisinteger(idx)) { /* is there an index there? */
k = cast_int(ivalue(idx)); k = cast_int(ivalue(idx));
/* correct value? (warning: must distinguish floats from integers!) */ /* correct value? (warning: must distinguish floats from integers!) */
if (k < fs->nk && ttype(&f->k[k]) == ttype(v) && if (k < fs->nk && ttypetag(&f->k[k]) == ttypetag(v) &&
luaV_rawequalobj(&f->k[k], v)) luaV_rawequalobj(&f->k[k], v))
return k; /* reuse index */ return k; /* reuse index */
} }

4
ldo.c

@ -1,5 +1,5 @@
/* /*
** $Id: ldo.c,v 2.194 2018/02/15 15:34:29 roberto Exp roberto $ ** $Id: ldo.c,v 2.196 2018/02/17 19:29:29 roberto Exp roberto $
** Stack and Call structure of Lua ** Stack and Call structure of Lua
** See Copyright Notice in lua.h ** See Copyright Notice in lua.h
*/ */
@ -453,7 +453,7 @@ void luaD_pretailcall (lua_State *L, CallInfo *ci, StkId func, int narg1) {
void luaD_call (lua_State *L, StkId func, int nresults) { void luaD_call (lua_State *L, StkId func, int nresults) {
lua_CFunction f; lua_CFunction f;
TValue *funcv = s2v(func); TValue *funcv = s2v(func);
switch (ttype(funcv)) { switch (ttypetag(funcv)) {
case LUA_TCCL: /* C closure */ case LUA_TCCL: /* C closure */
f = clCvalue(funcv)->f; f = clCvalue(funcv)->f;
goto Cfunc; goto Cfunc;

6
ldump.c

@ -1,5 +1,5 @@
/* /*
** $Id: ldump.c,v 2.39 2017/06/27 14:21:12 roberto Exp roberto $ ** $Id: ldump.c,v 2.40 2017/11/28 11:19:07 roberto Exp roberto $
** save precompiled Lua chunks ** save precompiled Lua chunks
** See Copyright Notice in lua.h ** See Copyright Notice in lua.h
*/ */
@ -111,8 +111,8 @@ static void DumpConstants (const Proto *f, DumpState *D) {
DumpInt(n, D); DumpInt(n, D);
for (i = 0; i < n; i++) { for (i = 0; i < n; i++) {
const TValue *o = &f->k[i]; const TValue *o = &f->k[i];
DumpByte(ttype(o), D); DumpByte(ttypetag(o), D);
switch (ttype(o)) { switch (ttypetag(o)) {
case LUA_TNIL: case LUA_TNIL:
break; break;
case LUA_TBOOLEAN: case LUA_TBOOLEAN:

22
lobject.h

@ -1,5 +1,5 @@
/* /*
** $Id: lobject.h,v 2.139 2018/02/25 12:52:32 roberto Exp roberto $ ** $Id: lobject.h,v 2.140 2018/02/26 13:35:03 roberto Exp roberto $
** Type definitions for Lua objects ** Type definitions for Lua objects
** See Copyright Notice in lua.h ** See Copyright Notice in lua.h
*/ */
@ -67,26 +67,26 @@ typedef struct TValue {
/* raw type tag of a TValue */ /* raw type tag of a TValue */
#define rttype(o) ((o)->tt_) #define rawtt(o) ((o)->tt_)
/* tag with no variants (bits 0-3) */ /* tag with no variants (bits 0-3) */
#define novariant(t) ((t) & 0x0F) #define novariant(t) ((t) & 0x0F)
/* type tag of a TValue (bits 0-3 for tags + variant bits 4-5) */ /* type tag of a TValue (bits 0-3 for tags + variant bits 4-5) */
#define ttyperaw(t) ((t) & 0x3F) #define withvariant(t) ((t) & 0x3F)
#define ttype(o) ttyperaw(rttype(o)) #define ttypetag(o) withvariant(rawtt(o))
/* type tag of a TValue with no variants (bits 0-3) */ /* type of a TValue */
#define ttnov(o) (novariant(rttype(o))) #define ttype(o) (novariant(rawtt(o)))
/* Macros to test type */ /* Macros to test type */
#define checktag(o,t) (rttype(o) == (t)) #define checktag(o,t) (rawtt(o) == (t))
#define checktype(o,t) (ttnov(o) == (t)) #define checktype(o,t) (ttype(o) == (t))
/* Macros for internal tests */ /* Macros for internal tests */
#define righttt(obj) (ttype(obj) == gcvalue(obj)->tt) #define righttt(obj) (ttypetag(obj) == gcvalue(obj)->tt)
#define checkliveness(L,obj) \ #define checkliveness(L,obj) \
lua_longassert(!iscollectable(obj) || \ lua_longassert(!iscollectable(obj) || \
@ -244,7 +244,7 @@ typedef struct GCObject {
/* Bit mark for collectable types */ /* Bit mark for collectable types */
#define BIT_ISCOLLECTABLE (1 << 6) #define BIT_ISCOLLECTABLE (1 << 6)
#define iscollectable(o) (rttype(o) & BIT_ISCOLLECTABLE) #define iscollectable(o) (rawtt(o) & BIT_ISCOLLECTABLE)
/* mark a tag as collectable */ /* mark a tag as collectable */
#define ctb(t) ((t) | BIT_ISCOLLECTABLE) #define ctb(t) ((t) | BIT_ISCOLLECTABLE)
@ -535,7 +535,7 @@ typedef struct Proto {
#define LUA_TCCL (LUA_TFUNCTION | (3 << 4)) /* C closure */ #define LUA_TCCL (LUA_TFUNCTION | (3 << 4)) /* C closure */
#define ttisfunction(o) checktype(o, LUA_TFUNCTION) #define ttisfunction(o) checktype(o, LUA_TFUNCTION)
#define ttisclosure(o) ((rttype(o) & 0x1F) == LUA_TLCL) #define ttisclosure(o) ((rawtt(o) & 0x1F) == LUA_TLCL)
#define ttisLclosure(o) checktag((o), ctb(LUA_TLCL)) #define ttisLclosure(o) checktag((o), ctb(LUA_TLCL))
#define ttislcf(o) checktag((o), LUA_TLCF) #define ttislcf(o) checktag((o), LUA_TLCF)
#define ttisCclosure(o) checktag((o), ctb(LUA_TCCL)) #define ttisCclosure(o) checktag((o), ctb(LUA_TCCL))

12
ltable.c

@ -1,5 +1,5 @@
/* /*
** $Id: ltable.c,v 2.133 2018/02/21 12:54:26 roberto Exp roberto $ ** $Id: ltable.c,v 2.134 2018/02/23 13:13:31 roberto Exp roberto $
** Lua tables (hash) ** Lua tables (hash)
** See Copyright Notice in lua.h ** See Copyright Notice in lua.h
*/ */
@ -133,7 +133,7 @@ static int l_hashfloat (lua_Number n) {
** nodes. ** nodes.
*/ */
static Node *mainposition (const Table *t, int ktt, const Value *kvl) { static Node *mainposition (const Table *t, int ktt, const Value *kvl) {
switch (ttyperaw(ktt)) { switch (withvariant(ktt)) {
case LUA_TNUMINT: case LUA_TNUMINT:
return hashint(t, ivalueraw(*kvl)); return hashint(t, ivalueraw(*kvl));
case LUA_TNUMFLT: case LUA_TNUMFLT:
@ -155,7 +155,7 @@ static Node *mainposition (const Table *t, int ktt, const Value *kvl) {
static Node *mainpositionTV (const Table *t, const TValue *key) { static Node *mainpositionTV (const Table *t, const TValue *key) {
return mainposition(t, rttype(key), valraw(key)); return mainposition(t, rawtt(key), valraw(key));
} }
@ -168,9 +168,9 @@ static Node *mainpositionTV (const Table *t, const TValue *key) {
** default case. ** default case.
*/ */
static int equalkey (const TValue *k1, const Node *n2) { static int equalkey (const TValue *k1, const Node *n2) {
if (rttype(k1) != keytt(n2)) /* not the same variants? */ if (rawtt(k1) != keytt(n2)) /* not the same variants? */
return 0; /* cannot be same key */ return 0; /* cannot be same key */
switch (ttype(k1)) { switch (ttypetag(k1)) {
case LUA_TNIL: case LUA_TNIL:
return 1; return 1;
case LUA_TNUMINT: case LUA_TNUMINT:
@ -667,7 +667,7 @@ const TValue *luaH_getstr (Table *t, TString *key) {
** main search function ** main search function
*/ */
const TValue *luaH_get (Table *t, const TValue *key) { const TValue *luaH_get (Table *t, const TValue *key) {
switch (ttype(key)) { switch (ttypetag(key)) {
case LUA_TSHRSTR: return luaH_getshortstr(t, tsvalue(key)); case LUA_TSHRSTR: return luaH_getshortstr(t, tsvalue(key));
case LUA_TNUMINT: return luaH_getint(t, ivalue(key)); case LUA_TNUMINT: return luaH_getint(t, ivalue(key));
case LUA_TNIL: return luaH_emptyobject; case LUA_TNIL: return luaH_emptyobject;

8
ltm.c

@ -1,5 +1,5 @@
/* /*
** $Id: ltm.c,v 2.63 2018/02/21 15:49:32 roberto Exp roberto $ ** $Id: ltm.c,v 2.64 2018/02/23 13:13:31 roberto Exp roberto $
** Tag methods ** Tag methods
** See Copyright Notice in lua.h ** See Copyright Notice in lua.h
*/ */
@ -70,7 +70,7 @@ const TValue *luaT_gettm (Table *events, TMS event, TString *ename) {
const TValue *luaT_gettmbyobj (lua_State *L, const TValue *o, TMS event) { const TValue *luaT_gettmbyobj (lua_State *L, const TValue *o, TMS event) {
Table *mt; Table *mt;
switch (ttnov(o)) { switch (ttype(o)) {
case LUA_TTABLE: case LUA_TTABLE:
mt = hvalue(o)->metatable; mt = hvalue(o)->metatable;
break; break;
@ -78,7 +78,7 @@ const TValue *luaT_gettmbyobj (lua_State *L, const TValue *o, TMS event) {
mt = uvalue(o)->metatable; mt = uvalue(o)->metatable;
break; break;
default: default:
mt = G(L)->mt[ttnov(o)]; mt = G(L)->mt[ttype(o)];
} }
return (mt ? luaH_getshortstr(mt, G(L)->tmname[event]) : luaO_nilobject); return (mt ? luaH_getshortstr(mt, G(L)->tmname[event]) : luaO_nilobject);
} }
@ -96,7 +96,7 @@ const char *luaT_objtypename (lua_State *L, const TValue *o) {
if (ttisstring(name)) /* is '__name' a string? */ if (ttisstring(name)) /* is '__name' a string? */
return getstr(tsvalue(name)); /* use it as type name */ return getstr(tsvalue(name)); /* use it as type name */
} }
return ttypename(ttnov(o)); /* else use standard type name */ return ttypename(ttype(o)); /* else use standard type name */
} }

10
lvm.c

@ -1,5 +1,5 @@
/* /*
** $Id: lvm.c,v 2.346 2018/02/21 19:43:44 roberto Exp roberto $ ** $Id: lvm.c,v 2.347 2018/02/23 13:13:31 roberto Exp roberto $
** Lua virtual machine ** Lua virtual machine
** See Copyright Notice in lua.h ** See Copyright Notice in lua.h
*/ */
@ -458,8 +458,8 @@ int luaV_lessequal (lua_State *L, const TValue *l, const TValue *r) {
*/ */
int luaV_equalobj (lua_State *L, const TValue *t1, const TValue *t2) { int luaV_equalobj (lua_State *L, const TValue *t1, const TValue *t2) {
const TValue *tm; const TValue *tm;
if (ttype(t1) != ttype(t2)) { /* not the same variant? */ if (ttypetag(t1) != ttypetag(t2)) { /* not the same variant? */
if (ttnov(t1) != ttnov(t2) || ttnov(t1) != LUA_TNUMBER) if (ttype(t1) != ttype(t2) || ttype(t1) != LUA_TNUMBER)
return 0; /* only numbers can be equal with different variants */ return 0; /* only numbers can be equal with different variants */
else { /* two numbers with different variants */ else { /* two numbers with different variants */
lua_Integer i1, i2; /* compare them as integers */ lua_Integer i1, i2; /* compare them as integers */
@ -467,7 +467,7 @@ int luaV_equalobj (lua_State *L, const TValue *t1, const TValue *t2) {
} }
} }
/* values have same type and same variant */ /* values have same type and same variant */
switch (ttype(t1)) { switch (ttypetag(t1)) {
case LUA_TNIL: return 1; case LUA_TNIL: return 1;
case LUA_TNUMINT: return (ivalue(t1) == ivalue(t2)); case LUA_TNUMINT: return (ivalue(t1) == ivalue(t2));
case LUA_TNUMFLT: return luai_numeq(fltvalue(t1), fltvalue(t2)); case LUA_TNUMFLT: return luai_numeq(fltvalue(t1), fltvalue(t2));
@ -569,7 +569,7 @@ void luaV_concat (lua_State *L, int total) {
*/ */
void luaV_objlen (lua_State *L, StkId ra, const TValue *rb) { void luaV_objlen (lua_State *L, StkId ra, const TValue *rb) {
const TValue *tm; const TValue *tm;
switch (ttype(rb)) { switch (ttypetag(rb)) {
case LUA_TTABLE: { case LUA_TTABLE: {
Table *h = hvalue(rb); Table *h = hvalue(rb);
tm = fasttm(L, h->metatable, TM_LEN); tm = fasttm(L, h->metatable, TM_LEN);

Loading…
Cancel
Save