From 626d94104d33120735cda62558e8a1d19155473a Mon Sep 17 00:00:00 2001 From: Nikita Smith Date: Fri, 6 Jun 2025 08:52:47 -0700 Subject: [PATCH] atomic contrib push --- src/linker/lnk_section_table.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/linker/lnk_section_table.c b/src/linker/lnk_section_table.c index 402af6c8..050f6471 100644 --- a/src/linker/lnk_section_table.c +++ b/src/linker/lnk_section_table.c @@ -40,6 +40,15 @@ lnk_section_contrib_chunk_push(LNK_SectionContribChunk *chunk, U64 count) return result; } +internal LNK_SectionContrib * +lnk_section_contrib_chunk_push_atomic(LNK_SectionContribChunk *chunk, U64 count) +{ + U64 pos = ins_atomic_u64_add_eval(&chunk->count, count) - count; + Assert(pos + count <= chunk->cap); + LNK_SectionContrib *result = chunk->v[pos]; + return result; +} + internal LNK_SectionContribChunk * lnk_section_contrib_chunk_list_push_chunk(Arena *arena, LNK_SectionContribChunkList *list, U64 cap) {