LUA_TTHREAD
case LUA_TTHREAD: return thvalue(o);
case LUA_TTHREAD: {
case LUA_TTHREAD: {
case LUA_TTHREAD: luaE_freethread(L, gco2th(o)); break;
if (gch(curr)->tt == LUA_TTHREAD)
#define ttisthread(o) checktag((o), ctb(LUA_TTHREAD))
val_(io).gc=cast(GCObject *, (x)); settt_(io, ctb(LUA_TTHREAD)); \
L1 = &luaC_newobj(L, LUA_TTHREAD, sizeof(LX), NULL, offsetof(LX, l))->th;
LG *l = cast(LG *, (*f)(ud, NULL, LUA_TTHREAD, sizeof(LG)));
L->tt = LUA_TTHREAD;
#define gco2th(o) check_exp((o)->gch.tt == LUA_TTHREAD, &((o)->th))
#define lua_isthread(L,n) (lua_type(L, (n)) == LUA_TTHREAD)