WIP change symbol extraction approach

This commit is contained in:
Nikita Smith
2026-04-06 12:04:31 -07:00
parent f57b149939
commit e0c6df710f
12 changed files with 921 additions and 994 deletions
+10
View File
@@ -24,6 +24,16 @@ void_node_concat_atomic(VoidNode **head, VoidNode *node)
node->next = ins_atomic_ptr_eval_assign(head, node);
}
internal VoidNode *
void_list_push(Arena *arena, VoidList *list, void *v)
{
VoidNode *n = push_array(arena, VoidNode, 1);
n->v = v;
SLLQueuePush(list->first, list->last, n);
list->count += 1;
return n;
}
internal void
u64_list_push_node(U64List *list, U64Node *n)
{
+8 -41
View File
@@ -3,49 +3,16 @@
#pragma once
typedef struct VoidNode
{
struct VoidNode *next;
void *v;
} VoidNode;
typedef struct VoidNode { void *v; struct VoidNode *next; } VoidNode;
typedef struct U32Node { U32 data; struct U32Node *next; } U32Node;
typedef struct U64Node { U64 data; struct U64Node *next; } U64Node;
typedef struct S64Node { S64 v; struct S64Node *next; } S64Node;
typedef struct U32Node
{
struct U32Node *next;
U32 data;
} U32Node;
typedef struct VoidList { U64 count; VoidNode *first, *last; } VoidList;
typedef struct U64List { U64 count; U64Node *first, *last; } U64List;
typedef struct S64List { U64 count; S64Node *first, *last; } S64List;
typedef struct U64Node
{
struct U64Node *next;
U64 data;
} U64Node;
typedef struct U64List
{
U64 count;
U64Node *first;
U64Node *last;
} U64List;
typedef struct S64Node
{
S64 v;
struct S64Node *next;
} S64Node;
typedef struct S64List
{
U64 count;
S64Node *first;
S64Node *last;
} S64List;
typedef struct S64Array
{
U64 count;
S64 *v;
} S64Array;
typedef struct S64Array { U64 count; S64 *v; } S64Array;
////////////////////////////////