memory: Move arena allocator into pound::memory namespace

The existing memory arena impelmentation is moved into the pound::memory
namespace to align with the pound::aarch64 namespace.

Signed-off-by: Ronald Caesar <github43132@proton.me>
This commit is contained in:
Ronald Caesar 2025-08-16 12:58:51 -04:00
parent 3d8a69dd8e
commit 556ace64e8
3 changed files with 10 additions and 8 deletions

View file

@ -4,7 +4,8 @@
#include <sys/mman.h>
#endif
memory::arena_t memory::arena_init(size_t capacity)
namespace pound::memory {
arena_t arena_init(size_t capacity)
{
// TODO(GloriousTaco:memory): Replace malloc with a windows memory mapping API.
@ -28,7 +29,7 @@ memory::arena_t memory::arena_init(size_t capacity)
}
// new more memsafe code (ownedbywuigi) (i give up on windows compatibility for now, will stick to the old unsafe code)
const void* memory::arena_allocate(memory::arena_t* arena, const std::size_t size)
const void* arena_allocate(memory::arena_t* arena, const std::size_t size)
{
ASSERT(arena != nullptr);
ASSERT(arena->size + size <= arena->capacity);
@ -36,14 +37,14 @@ const void* memory::arena_allocate(memory::arena_t* arena, const std::size_t siz
arena->size += size;
return data;
}
void memory::arena_reset(memory::arena_t* arena)
void arena_reset(memory::arena_t* arena)
{
ASSERT(nullptr != arena);
ASSERT(nullptr != arena->data);
arena->size = 0;
(void)std::memset(arena->data, POISON_PATTERN, arena->capacity);
}
void memory::arena_free(memory::arena_t* arena)
void arena_free(memory::arena_t* arena)
{
ASSERT(arena != nullptr);
arena->capacity = 0;
@ -51,3 +52,4 @@ void memory::arena_free(memory::arena_t* arena)
// TODO(GloriousTaco:memory): Replace free with a memory safe alternative.
free(arena->data);
}
}

View file

@ -5,7 +5,7 @@
#include <cstdint>
#include <cstdlib>
namespace memory
namespace pound::memory
{
#define POISON_PATTERN 0xAA
@ -108,5 +108,5 @@ void arena_reset(arena_t* arena);
*/
void arena_free(memory::arena_t* arena);
} // namespace memory
} // namespace pound::memory
#endif //POUND_ARENA_H

View file

@ -5,7 +5,7 @@
#include <memory>
#include "arena.h"
namespace memory
namespace pound::memory
{
/**
@brief An STL-compatible allocator that uses a custom arena for memory management.
@ -65,4 +65,4 @@ namespace memory
}
#endif // POUND_ARENA_ALLOCATOR_H
#endif // POUND_ARENA_ALLOCATOR_H