artifact_cache: fix leak of old-generation artifacts, when those artifacts are replaced by newer generation computations. artifacts can opaquely hold things like arena pointers, and so when we replace them in the cache, we need to respect the lookup api's provision of create/destroy hooks for the cache, such that the artifacts can be released correctly (using the destroy hook) before being replaced. this is separate from regular eviction.

This commit is contained in:
Ryan Fleury committed 2026-05-11 11:49:15 -07:00
1 parent 6a95da35e0
commit 52da228efe
8 files changed
+157 -24

No files matched your search

+3
View File
@@ -46,6 +46,9 @@ struct Arena
#if ARENA_FREE_LIST
Arena *free_last;
#endif
#if ARENA_TABLE_DEBUG
struct ArenaTableNode *table_node;
#endif
};
StaticAssert(sizeof(Arena) <= ARENA_HEADER_SIZE, arena_header_size_check);