From 85b0db24804e6a8a66f557ac8917596db5fc5d9f Mon Sep 17 00:00:00 2001 From: Martin Kagamino Lehoux Date: Mon, 21 Jul 2025 16:53:37 +0200 Subject: refactor: Better types --- memory.c | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) (limited to 'memory.c') diff --git a/memory.c b/memory.c index f2248b6..f11af57 100644 --- a/memory.c +++ b/memory.c @@ -4,8 +4,9 @@ #include #include "memory.h" +#include "types.h" -Arena Arena_new(ptrdiff_t cap) { +Arena Arena_new(size cap) { Arena a = {0}; a.cap = cap; a.beg = malloc(cap); @@ -15,12 +16,12 @@ Arena Arena_new(ptrdiff_t cap) { // Magic to allow optimisation __attribute((malloc, alloc_size(2, 4), // alloc_align(3))) -void *alloc(Arena *a, ptrdiff_t count, int size, int align) { - int padding = -(uintptr_t)a->beg & (align - 1); - assert(count < (a->end - a->beg - padding) / size); +void *alloc(Arena *a, size count, size tsize, int align) { + int padding = -(uptr)a->beg & (align - 1); + assert(count < (a->end - a->beg - padding) / tsize); void *cursor = a->beg + padding; - a->beg += padding + count * size; - return memset(cursor, 0, count * size); + a->beg += padding + count * tsize; + return memset(cursor, 0, count * tsize); } int Arena_get_used(Arena a) { return a.cap - (a.end - a.beg); } -- cgit v1.3