summaryrefslogtreecommitdiff
path: root/prb_arena.c
diff options
context:
space:
mode:
Diffstat (limited to 'prb_arena.c')
-rw-r--r--prb_arena.c48
1 files changed, 0 insertions, 48 deletions
diff --git a/prb_arena.c b/prb_arena.c
deleted file mode 100644
index 1938dec..0000000
--- a/prb_arena.c
+++ /dev/null
@@ -1,48 +0,0 @@
-Arena *alloc_arena(U64 cap)
-{
- Arena *a;
-
- /* TODO(pryazha): Use OS specific memory allocator
- * (like VirtualAlloc on Windows or mmap on Linux)
- */
- a = malloc(sizeof(Arena));
- ASSERT(a);
-
- if (!cap)
- cap = PRB_DEFAULT_ALLOC_SIZE;
-
- a->mem = malloc(cap);
- ASSERT(a->mem);
- a->cap = cap;
- a->used = 0;
-
- return a;
-}
-
-void release_arena(Arena *a)
-{
- free(a->mem);
- MEM0STRUCT(a);
- free(a);
-}
-
-void *push_arena(Arena *a, U64 size)
-{
- ASSERT(a);
- ASSERT(a->used+size <= a->cap);
-
- void *r;
-
- r = a->mem+a->used;
- a->used += size;
-
- return r;
-}
-
-void pop_arena(Arena *a, U64 size)
-{
- ASSERT(a);
- U64 clamped;
- clamped = CLAMPTOP(size, a->used);
- a->used = a->used-clamped;
-}