diff options
Diffstat (limited to 'src/base/mem')
-rw-r--r-- | src/base/mem/arena.c | 12 | ||||
-rw-r--r-- | src/base/mem/interface.c | 7 |
2 files changed, 11 insertions, 8 deletions
diff --git a/src/base/mem/arena.c b/src/base/mem/arena.c index 37e7b56..7fe036a 100644 --- a/src/base/mem/arena.c +++ b/src/base/mem/arena.c @@ -31,6 +31,13 @@ static void* return mem·arenaalloc(heap, n, size); } +static void* +·arenarealloc(void *heap, void *old, uint n, ulong size) +{ + /* does not free */ + return mem·arenaalloc(heap, n, size); +} + static void ·arenafree(void *heap, void *ptr) { @@ -38,8 +45,9 @@ static void } mem·Allocator mem·ArenaAllocator = { - .alloc = ·arenaalloc, - .free = ·arenafree, + .alloc = ·arenaalloc, + .realloc = ·arenarealloc, + .free = ·arenafree, }; diff --git a/src/base/mem/interface.c b/src/base/mem/interface.c index e128bb9..99cb774 100644 --- a/src/base/mem/interface.c +++ b/src/base/mem/interface.c @@ -20,12 +20,7 @@ static void * return realloc(ptr, n*size); } -mem·Allocator sys·Memory = { - .alloc = ·calloc, - .free = ·free -}; - -mem·Reallocator sys·FullMemory = { +mem·Allocator base·Memory = { .alloc = ·calloc, .realloc = ·realloc, .free = ·free |