// NOFREE ALLOCATOR
-typedef struct bh_alloc_nofree {
+typedef struct bh_arena {
ptr memory;
ptr next_allocation;
isize size, total_size; // in bytes
-} bh_alloc_nofree;
+} bh_arena;
-BH_ALLOCATOR_PROC(bh_alloc_nofree_allocator_proc);
-void bh_alloc_nofree_init(bh_alloc_nofree* alloc, isize total_size);
-void bh_alloc_nofree_free(bh_alloc_nofree* alloc);
-bh_allocator bh_alloc_nofree_allocator(bh_alloc_nofree* alloc);
+BH_ALLOCATOR_PROC(bh_arena_allocator_proc);
+void bh_arena_init(bh_arena* alloc, isize total_size);
+void bh_arena_free(bh_arena* alloc);
+bh_allocator bh_arena_allocator(bh_arena* alloc);
// NOFREE ALLOCATOR IMPLEMENTATION
-BH_ALLOCATOR_PROC(bh_alloc_nofree_allocator_proc) {
- bh_alloc_nofree* alloc_nf = (bh_alloc_nofree*) data;
+BH_ALLOCATOR_PROC(bh_arena_allocator_proc) {
+ bh_arena* alloc_nf = (bh_arena*) data;
ptr retval = NULL;
return retval;
}
-void bh_alloc_nofree_init(bh_alloc_nofree* alloc, isize total_size) {
+void bh_arena_init(bh_arena* alloc, isize total_size) {
ptr data = malloc(total_size);
alloc->total_size = total_size;
alloc->next_allocation = data;
}
-void bh_alloc_nofree_free(bh_alloc_nofree* alloc) {
+void bh_arena_free(bh_arena* alloc) {
free(alloc->memory);
alloc->memory = NULL;
alloc->next_allocation = NULL;
alloc->size = 0;
}
-bh_allocator bh_alloc_nofree_allocator(bh_alloc_nofree* alloc) {
+bh_allocator bh_arena_allocator(bh_arena* alloc) {
return (bh_allocator) {
- .proc = bh_alloc_nofree_allocator_proc,
+ .proc = bh_arena_allocator_proc,
.data = alloc,
};
}