diff options
Diffstat (limited to 'lobject.h')
| -rw-r--r-- | lobject.h | 16 |
1 files changed, 2 insertions, 14 deletions
| @@ -763,24 +763,12 @@ typedef union Node { | |||
| 763 | checkliveness(L,io_); } | 763 | checkliveness(L,io_); } |
| 764 | 764 | ||
| 765 | 765 | ||
| 766 | /* | ||
| 767 | ** About 'alimit': if 'isrealasize(t)' is true, then 'alimit' is the | ||
| 768 | ** real size of 'array'. Otherwise, the real size of 'array' is the | ||
| 769 | ** smallest power of two not smaller than 'alimit' (or zero iff 'alimit' | ||
| 770 | ** is zero); 'alimit' is then used as a hint for #t. | ||
| 771 | */ | ||
| 772 | |||
| 773 | #define BITRAS (1 << 7) | ||
| 774 | #define isrealasize(t) (!((t)->flags & BITRAS)) | ||
| 775 | #define setrealasize(t) ((t)->flags &= cast_byte(~BITRAS)) | ||
| 776 | #define setnorealasize(t) ((t)->flags |= BITRAS) | ||
| 777 | |||
| 778 | 766 | ||
| 779 | typedef struct Table { | 767 | typedef struct Table { |
| 780 | CommonHeader; | 768 | CommonHeader; |
| 781 | lu_byte flags; /* 1<<p means tagmethod(p) is not present */ | 769 | lu_byte flags; /* 1<<p means tagmethod(p) is not present */ |
| 782 | lu_byte lsizenode; /* log2 of size of 'node' array */ | 770 | lu_byte lsizenode; /* log2 of number of slots of 'node' array */ |
| 783 | unsigned int alimit; /* "limit" of 'array' array */ | 771 | unsigned int asize; /* number of slots in 'array' array */ |
| 784 | Value *array; /* array part */ | 772 | Value *array; /* array part */ |
| 785 | Node *node; | 773 | Node *node; |
| 786 | struct Table *metatable; | 774 | struct Table *metatable; |
