Implemented Region. Arena allocator now uses Region for OS specific allocation and page management.
Some checks failed
CMake on multiple platforms / build (Release, cl, cl, windows-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, clang, clang++, macos-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, clang, clang++, ubuntu-latest) (push) Has been cancelled
CMake on multiple platforms / build (Release, gcc, g++, ubuntu-latest) (push) Has been cancelled

This commit is contained in:
2026-08-15 15:50:32 -07:00
parent 3a6711a942
commit e358b02bea
6 changed files with 225 additions and 78 deletions

View File

@@ -33,6 +33,8 @@
#include <cstddef>
#include "region.h"
namespace mimir {
class Arena
{
@@ -53,14 +55,13 @@ public:
// Reset the arena, potentially also releasing committed pages
void reset();
private:
std::byte* m_data;
Region m_region;
size_t m_minSize;
size_t m_maxSize;
size_t m_committedSize;
size_t m_usedSize;
static const size_t kWatermarkLen = 8;
size_t m_watermark[kWatermarkLen];
}; // class Arena
} // namespace mimir