Merge branch 'master' into v2.1

This commit is contained in:
Mike Pall 2024-01-31 14:39:50 +01:00
commit 9cc2e42b17

View File

@ -133,7 +133,7 @@ static void bcwrite_ktab_sorted_hash(BCWriteCtx *ctx, Node *node, MSize nhash)
TValue **heap = ctx->heap; TValue **heap = ctx->heap;
MSize i = nhash; MSize i = nhash;
for (;; node--) { /* Build heap. */ for (;; node--) { /* Build heap. */
if (!tvisnil(&node->val)) { if (!tvisnil(&node->key)) {
bcwrite_ktabk_heap_insert(heap, --i, nhash, &node->key); bcwrite_ktabk_heap_insert(heap, --i, nhash, &node->key);
if (i == 0) break; if (i == 0) break;
} }
@ -163,7 +163,7 @@ static void bcwrite_ktab(BCWriteCtx *ctx, char *p, const GCtab *t)
MSize i, hmask = t->hmask; MSize i, hmask = t->hmask;
Node *node = noderef(t->node); Node *node = noderef(t->node);
for (i = 0; i <= hmask; i++) for (i = 0; i <= hmask; i++)
nhash += !tvisnil(&node[i].val); nhash += !tvisnil(&node[i].key);
} }
/* Write number of array slots and hash slots. */ /* Write number of array slots and hash slots. */
p = lj_strfmt_wuleb128(p, narray); p = lj_strfmt_wuleb128(p, narray);
@ -184,7 +184,7 @@ static void bcwrite_ktab(BCWriteCtx *ctx, char *p, const GCtab *t)
} else { } else {
MSize i = nhash; MSize i = nhash;
for (;; node--) for (;; node--)
if (!tvisnil(&node->val)) { if (!tvisnil(&node->key)) {
bcwrite_ktabk(ctx, &node->key, 0); bcwrite_ktabk(ctx, &node->key, 0);
bcwrite_ktabk(ctx, &node->val, 1); bcwrite_ktabk(ctx, &node->val, 1);
if (--i == 0) break; if (--i == 0) break;