10#define CU_GPA_BUCKET_SIZE 4096
11#define CU_GPA_NUM_SMALL_BUCKETS 16
12#define CU_GPA_CANARY 0x9232a6ff85dff10fULL
15struct cu_GPAllocator_BucketHeader;
18struct cu_GPAllocator_ObjectPool {
27struct cu_GPAllocator_BucketHeader {
28 struct cu_GPAllocator_BucketHeader *prev;
29 struct cu_GPAllocator_BucketHeader *next;
30 struct cu_GPAllocator_ObjectPool objects;
35struct cu_GPAllocator_LargeAlloc {
36 struct cu_GPAllocator_LargeAlloc *prev;
37 struct cu_GPAllocator_LargeAlloc *next;
46 struct cu_GPAllocator_BucketHeader
48 struct cu_GPAllocator_LargeAlloc
#define CU_GPA_NUM_SMALL_BUCKETS
Definition gpallocator.h:11
cu_Allocator cu_Allocator_GPAllocator(cu_GPAllocator *alloc, cu_GPAllocator_Config config)
Definition gpallocator.c:336
void cu_GPAllocator_destroy(cu_GPAllocator *alloc)
Definition gpallocator.c:376
Definition allocator.h:24
Dynamically allocated bitmap.
Definition bitmap.h:16
Definition gpallocator.h:53
size_t bucketSize
Definition gpallocator.h:54
cu_Allocator_Optional backingAllocator
Definition gpallocator.h:55
Definition gpallocator.h:43
struct cu_GPAllocator_LargeAlloc * largeAllocs
Definition gpallocator.h:48
size_t bucketSize
Definition gpallocator.h:50
cu_Allocator backingAllocator
Definition gpallocator.h:44