no more 'DEADKEY'. Table traversals do not need to consider dead keys;

if the key is dead, it cannot be given to 'next'. Instead, we now
use a 'table' tag without the collectable bit, which makes it
a unique tag good enough to reserve space.
This commit is contained in:
Roberto Ierusalimschy
2017-06-12 11:21:44 -03:00
parent d13a3fb070
commit 73ec04fcf3
5 changed files with 49 additions and 66 deletions

View File

@@ -1,5 +1,5 @@
/*
** $Id: lstate.h,v 2.141 2017/05/13 13:54:47 roberto Exp roberto $
** $Id: lstate.h,v 2.142 2017/05/26 19:14:29 roberto Exp roberto $
** Global State
** See Copyright Notice in lua.h
*/
@@ -247,8 +247,7 @@ union GCUnion {
/* macro to convert a Lua object into a GCObject */
#define obj2gco(v) \
check_exp(novariant((v)->tt) < LUA_TDEADKEY, (&(cast_u(v)->gc)))
#define obj2gco(v) (&(cast_u(v)->gc))
/* actual number of total bytes allocated */