From 830d183318727a381359e347e7abaac12bf3c782 Mon Sep 17 00:00:00 2001 From: Steve Lhomme Date: Sat, 4 Jan 2025 10:26:15 +0100 Subject: [PATCH] corec: make the default heap private It's cleaner than an extern variable. The linker may optimize this. --- corec/corec/array/array.c | 8 ++++++-- corec/corec/memheap.h | 2 +- corec/corec/node/node.c | 2 +- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/corec/corec/array/array.c b/corec/corec/array/array.c index ccc9dabd..deaf0489 100644 --- a/corec/corec/array/array.c +++ b/corec/corec/array/array.c @@ -577,5 +577,9 @@ static void* __HAlloc(const void* UNUSED_PARAM(p),size_t Size) { return malloc(S static void __HFree(const void* UNUSED_PARAM(p),void* Ptr,size_t UNUSED_PARAM(Size)) { free(Ptr); }\ static void* __HReAlloc(const void* UNUSED_PARAM(p),void* Ptr,size_t UNUSED_PARAM(OldSize),size_t Size) { return realloc(Ptr,Size); }\ static void __HWrite(const void* UNUSED_PARAM(p),void* Ptr,const void* Src,size_t Pos,size_t Size) { memcpy((uint8_t*)Ptr+Pos,Src,Size); }\ -static const cc_memheap MemHeap_Default_ = { __HAlloc,__HFree,__HReAlloc,__HWrite, &MemHeap_Default_, DATA_FLAG_MEMHEAP }; -const cc_memheap *MemHeap_Default = &MemHeap_Default_; +static const cc_memheap MemHeap_Default = { __HAlloc,__HFree,__HReAlloc,__HWrite, &MemHeap_Default, DATA_FLAG_MEMHEAP }; + +const cc_memheap *MemHeap_GetDefault(void) +{ + return &MemHeap_Default; +} diff --git a/corec/corec/memheap.h b/corec/corec/memheap.h index a7cc4718..60d2de83 100644 --- a/corec/corec/memheap.h +++ b/corec/corec/memheap.h @@ -42,7 +42,7 @@ struct cc_memheap MEMHEAD_POINTER_HOLDER; }; -extern const cc_memheap *MemHeap_Default; +const cc_memheap *MemHeap_GetDefault(void); static INLINE void *MemHeap_Alloc(const cc_memheap *p, size_t s) { diff --git a/corec/corec/node/node.c b/corec/corec/node/node.c index 026bd45e..11fa2fd8 100644 --- a/corec/corec/node/node.c +++ b/corec/corec/node/node.c @@ -2610,7 +2610,7 @@ void NodeContext_Init(nodecontext* p,const nodemeta* Custom, const cc_memheap* H ArrayInitEx(&p->NodeClass,Heap); } else - Heap = MemHeap_Default; + Heap = MemHeap_GetDefault(); if (!ConstHeap) ConstHeap=Heap;