|
@@ -148,12 +148,12 @@ arena_growing_free_last_memory_block :: proc(arena: ^Arena, loc := #caller_locat
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
-arena_free_all :: proc(arena: ^Arena) {
|
|
|
|
|
|
+arena_free_all :: proc(arena: ^Arena, loc := #caller_location) {
|
|
switch arena.kind {
|
|
switch arena.kind {
|
|
case .Growing:
|
|
case .Growing:
|
|
sync.mutex_guard(&arena.mutex)
|
|
sync.mutex_guard(&arena.mutex)
|
|
for arena.curr_block != nil {
|
|
for arena.curr_block != nil {
|
|
- arena_growing_free_last_memory_block(arena)
|
|
|
|
|
|
+ arena_growing_free_last_memory_block(arena, loc)
|
|
}
|
|
}
|
|
arena.total_reserved = 0
|
|
arena.total_reserved = 0
|
|
case .Static, .Buffer:
|
|
case .Static, .Buffer:
|
|
@@ -240,17 +240,17 @@ arena_allocator_proc :: proc(allocator_data: rawptr, mode: mem.Allocator_Mode,
|
|
|
|
|
|
switch mode {
|
|
switch mode {
|
|
case .Alloc, .Alloc_Non_Zeroed:
|
|
case .Alloc, .Alloc_Non_Zeroed:
|
|
- return arena_alloc(arena, size, alignment)
|
|
|
|
|
|
+ return arena_alloc(arena, size, alignment, location)
|
|
case .Free:
|
|
case .Free:
|
|
err = .Mode_Not_Implemented
|
|
err = .Mode_Not_Implemented
|
|
case .Free_All:
|
|
case .Free_All:
|
|
- arena_free_all(arena)
|
|
|
|
|
|
+ arena_free_all(arena, location)
|
|
case .Resize:
|
|
case .Resize:
|
|
old_data := ([^]byte)(old_memory)
|
|
old_data := ([^]byte)(old_memory)
|
|
|
|
|
|
switch {
|
|
switch {
|
|
case old_data == nil:
|
|
case old_data == nil:
|
|
- return arena_alloc(arena, size, alignment)
|
|
|
|
|
|
+ return arena_alloc(arena, size, alignment, location)
|
|
case size == old_size:
|
|
case size == old_size:
|
|
// return old memory
|
|
// return old memory
|
|
data = old_data[:size]
|
|
data = old_data[:size]
|
|
@@ -264,7 +264,7 @@ arena_allocator_proc :: proc(allocator_data: rawptr, mode: mem.Allocator_Mode,
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
- new_memory := arena_alloc(arena, size, alignment) or_return
|
|
|
|
|
|
+ new_memory := arena_alloc(arena, size, alignment, location) or_return
|
|
if new_memory == nil {
|
|
if new_memory == nil {
|
|
return
|
|
return
|
|
}
|
|
}
|