From 444bfa2f41143aff7490e4fa21565947565b7d30 Mon Sep 17 00:00:00 2001 From: nasr Date: Fri, 13 Mar 2026 22:31:21 +0100 Subject: cleanup: generalisation --- library/arena.h | 69 --------------------------------------------------------- 1 file changed, 69 deletions(-) delete mode 100644 library/arena.h (limited to 'library/arena.h') diff --git a/library/arena.h b/library/arena.h deleted file mode 100644 index 330023e..0000000 --- a/library/arena.h +++ /dev/null @@ -1,69 +0,0 @@ -#ifndef ARENA_H -#define ARENA_H - -#include "base.h" - -/** - * Arena Helper macro's - * */ - -#define MIN(a, b) (((a) < (b)) ? (a) : (b)) -#define MAX(a, b) (((a) > (b)) ? (a) : (b)) -#define ALIGN_UP_POW2(n, p) (((u64)(n) + ((u64)(p) - 1)) & (~((u64)(p) - 1))) - - - -/* - * Represents a disk partition with major/minor device numbers and block count. - */ - -/** - * replacing malloc/free with arena allocaters - * - * */ - -#define ARENA_BASE_POS (sizeof(mem_arena)) -// void * for the size of a pointer on the machine, 64/32bit comp -#define ARENA_ALIGN (sizeof(void *)) - - -static inline u64 KiB(u64 n) { return n << 10; } -static inline u64 MiB(u64 n) { return n << 20; } -static inline u64 GiB(u64 n) { return n << 30; } - -typedef struct mem_arena mem_arena; - - -struct mem_arena -{ - u64 capacity; - u64 pos; -} ; - -// arena prototypes -mem_arena * -arena_create(u64 capacity); -// make it a void pointer to allow implicit conversion -void -arena_destroy(mem_arena *arena); - -void * -arena_push(mem_arena *arena, u64 size, b32 non_zero); - -void -arena_pop(mem_arena *arena, u64 size); - -void -arena_pop_to(mem_arena *arena, u64 pos); - -void -arena_clear(mem_arena *arena); - - -#define PUSH_STRUCT(arena, T) (T *)arena_push((arena), sizeof(T), 0) -#define PUSH_STRUCT_NZ(arena, T) (T *)arena_push((arena), sizeof(T), 1) -#define PUSH_ARRAY(arena, T, n) (T *)arena_push((arena), sizeof(T) * (n), 0) -#define PUSH_ARRAY_NZ(arena, T, n) (T *)arena_push((arena), sizeof(T) * (n), 1) - - -#endif -- cgit v1.3