Merge branch 'newarray' into nextversion

This commit is contained in:
Roberto Ierusalimschy
2023-11-07 17:26:15 -03:00
12 changed files with 529 additions and 274 deletions

View File

@@ -192,6 +192,8 @@ typedef union {
/* macro to test for (any kind of) nil */
#define ttisnil(v) checktype((v), LUA_TNIL)
#define tagisempty(tag) (novariant(tag) == LUA_TNIL)
/* macro to test for a standard nil */
#define ttisstrictnil(o) checktag((o), LUA_VNIL)
@@ -749,12 +751,15 @@ typedef union Node {
#define setnorealasize(t) ((t)->flags |= BITRAS)
typedef union ArrayCell ArrayCell;
typedef struct Table {
CommonHeader;
lu_byte flags; /* 1<<p means tagmethod(p) is not present */
lu_byte lsizenode; /* log2 of size of 'node' array */
unsigned int alimit; /* "limit" of 'array' array */
TValue *array; /* array part */
ArrayCell *array; /* array part */
Node *node;
struct Table *metatable;
GCObject *gclist;