Introduce temp memory to free memory leaks

This commit is contained in:
2016-11-27 17:26:23 +11:00
parent 3729ddf164
commit ad14d6d822
11 changed files with 104 additions and 216 deletions
+26 -3
View File
@@ -2,7 +2,30 @@
void memory_arenaInit(MemoryArena_ *arena, void *base, size_t size)
{
arena->size = size;
arena->used = 0;
arena->base = CAST(u8 *)base;
arena->size = size;
arena->used = 0;
arena->base = CAST(u8 *) base;
arena->tempMemoryCount = 0;
}
TempMemory memory_begin_temporary_region(MemoryArena_ *arena)
{
TempMemory result = {0};
result.arena = arena;
result.used = arena->used;
arena->tempMemoryCount++;
return result;
}
void memory_end_temporary_region(TempMemory tempMemory)
{
MemoryArena_ *arena = tempMemory.arena;
ASSERT(arena->used > tempMemory.used)
arena->used = tempMemory.used;
ASSERT(arena->tempMemoryCount > 0)
arena->tempMemoryCount--;
}