diff options
| author | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2023-11-07 17:26:15 -0300 |
|---|---|---|
| committer | Roberto Ierusalimschy <roberto@inf.puc-rio.br> | 2023-11-07 17:26:15 -0300 |
| commit | 37c215b43f27a1c41e8a920987e1c3bd7b34330d (patch) | |
| tree | f14f4417384cffb9d2e5ef3c09621555a5d1e9a2 /lobject.h | |
| parent | 9e99f3071d07767f9e882c4abf3537f75ce2d161 (diff) | |
| parent | fa075b79530af1cbc977349f2e467d69ce01202c (diff) | |
| download | lua-37c215b43f27a1c41e8a920987e1c3bd7b34330d.tar.gz lua-37c215b43f27a1c41e8a920987e1c3bd7b34330d.tar.bz2 lua-37c215b43f27a1c41e8a920987e1c3bd7b34330d.zip | |
Merge branch 'newarray' into nextversion
Diffstat (limited to 'lobject.h')
| -rw-r--r-- | lobject.h | 7 |
1 files changed, 6 insertions, 1 deletions
| @@ -192,6 +192,8 @@ typedef union { | |||
| 192 | /* macro to test for (any kind of) nil */ | 192 | /* macro to test for (any kind of) nil */ |
| 193 | #define ttisnil(v) checktype((v), LUA_TNIL) | 193 | #define ttisnil(v) checktype((v), LUA_TNIL) |
| 194 | 194 | ||
| 195 | #define tagisempty(tag) (novariant(tag) == LUA_TNIL) | ||
| 196 | |||
| 195 | 197 | ||
| 196 | /* macro to test for a standard nil */ | 198 | /* macro to test for a standard nil */ |
| 197 | #define ttisstrictnil(o) checktag((o), LUA_VNIL) | 199 | #define ttisstrictnil(o) checktag((o), LUA_VNIL) |
| @@ -749,12 +751,15 @@ typedef union Node { | |||
| 749 | #define setnorealasize(t) ((t)->flags |= BITRAS) | 751 | #define setnorealasize(t) ((t)->flags |= BITRAS) |
| 750 | 752 | ||
| 751 | 753 | ||
| 754 | typedef union ArrayCell ArrayCell; | ||
| 755 | |||
| 756 | |||
| 752 | typedef struct Table { | 757 | typedef struct Table { |
| 753 | CommonHeader; | 758 | CommonHeader; |
| 754 | lu_byte flags; /* 1<<p means tagmethod(p) is not present */ | 759 | lu_byte flags; /* 1<<p means tagmethod(p) is not present */ |
| 755 | lu_byte lsizenode; /* log2 of size of 'node' array */ | 760 | lu_byte lsizenode; /* log2 of size of 'node' array */ |
| 756 | unsigned int alimit; /* "limit" of 'array' array */ | 761 | unsigned int alimit; /* "limit" of 'array' array */ |
| 757 | TValue *array; /* array part */ | 762 | ArrayCell *array; /* array part */ |
| 758 | Node *node; | 763 | Node *node; |
| 759 | struct Table *metatable; | 764 | struct Table *metatable; |
| 760 | GCObject *gclist; | 765 | GCObject *gclist; |
