Reallocate-Arena #1

Merged
Patedam merged 7 commits from Reallocate-Arena into main 2026-02-14 11:24:30 -05:00
Showing only changes of commit 6a6f34516c - Show all commits

View File

@@ -15,7 +15,6 @@ namespace Juliet
DataFirst = DataLast = nullptr; DataFirst = DataLast = nullptr;
Count = 0; Count = 0;
Stride = sizeof(Type);
ArenaParams params{ .AllowRealloc = AllowRealloc JULIET_DEBUG_ONLY(, .CanReserveMore = false) }; ArenaParams params{ .AllowRealloc = AllowRealloc JULIET_DEBUG_ONLY(, .CanReserveMore = false) };
Arena = ArenaAllocate(params); Arena = ArenaAllocate(params);
InternalArena = true; InternalArena = true;
@@ -30,7 +29,6 @@ namespace Juliet
DataFirst = DataLast = nullptr; DataFirst = DataLast = nullptr;
Count = 0; Count = 0;
Stride = sizeof(Type);
Arena = arena.Get(); Arena = arena.Get();
InternalArena = false; InternalArena = false;
@@ -42,7 +40,7 @@ namespace Juliet
ArenaRelease(Arena); ArenaRelease(Arena);
DataFirst = DataLast = nullptr; DataFirst = DataLast = nullptr;
Count = 0; Count = 0;
Stride = 0; Capacity = 0;
Arena = nullptr; Arena = nullptr;
} }
@@ -74,7 +72,7 @@ namespace Juliet
{ {
Assert(Arena); Assert(Arena);
Type* entry = Data + (Count * Stride); Type* entry = Data + Count;
*entry = value; *entry = value;
if (Count == 0) if (Count == 0)
@@ -89,7 +87,7 @@ namespace Juliet
{ {
Assert(Arena); Assert(Arena);
Type* entry = Data + (Count * Stride); Type* entry = Data + Count;
*entry = std::move(value); *entry = std::move(value);
if (Count == 0) if (Count == 0)
@@ -153,7 +151,6 @@ namespace Juliet
Type* Data; Type* Data;
size_t Count; size_t Count;
size_t Capacity; size_t Capacity;
size_t Stride;
bool InternalArena : 1; bool InternalArena : 1;
}; };
static_assert(std::is_standard_layout_v<VectorArena<int>>, static_assert(std::is_standard_layout_v<VectorArena<int>>,