filter out duplicate page entries before computing the buffer size

This commit is contained in:
Nikita Smith
2026-01-16 18:52:55 -08:00
parent 4ab89cd120
commit 8f47ce7616
3 changed files with 64 additions and 41 deletions
+8 -4
View File
@@ -26,16 +26,20 @@ void_node_concat_atomic(VoidNode **head, VoidNode *node)
node->next = ins_atomic_ptr_eval_assign(head, node);
}
internal void
u64_list_push_node(U64List *list, U64Node *n)
{
SLLQueuePush(list->first, list->last, n);
list->count += 1;
}
internal U64Node *
u64_list_push(Arena *arena, U64List *list, U64 data)
{
U64Node *n = push_array(arena, U64Node, 1);
n->next = 0;
n->data = data;
SLLQueuePush(list->first, list->last, n);
++list->count;
u64_list_push_node(list, n);
return n;
}
+1
View File
@@ -30,6 +30,7 @@ typedef struct VoidNode
////////////////////////////////
internal void u64_list_push_node(U64List *list, U64Node *n);
internal U64Node * u64_list_push(Arena *arena, U64List *list, U64 data);
internal void u64_list_concat_in_place(U64List *list, U64List *to_concat);
internal U64Array u64_array_from_list(Arena *arena, U64List *list);