aboutsummaryrefslogtreecommitdiff
path: root/src/base/mem
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/mem')
-rw-r--r--src/base/mem/arena.c12
-rw-r--r--src/base/mem/interface.c7
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