diff --git a/base/runtime/default_temp_allocator_arena.odin b/base/runtime/default_temp_allocator_arena.odin index b84316634..d86750553 100644 --- a/base/runtime/default_temp_allocator_arena.odin +++ b/base/runtime/default_temp_allocator_arena.odin @@ -117,6 +117,7 @@ arena_alloc :: proc(arena: ^Arena, size, alignment: uint, loc := #caller_locatio // if arena.backing_allocator.procedure == nil { // arena.backing_allocator = default_allocator() // } + assert(arena.backing_allocator.procedure != nil ) new_block := memory_block_alloc(arena.backing_allocator, block_size, alignment, loc) or_return new_block.prev = arena.curr_block diff --git a/base/runtime/default_temporary_allocator.odin b/base/runtime/default_temporary_allocator.odin index b355ded70..c2fa046af 100644 --- a/base/runtime/default_temporary_allocator.odin +++ b/base/runtime/default_temporary_allocator.odin @@ -40,6 +40,11 @@ when NO_DEFAULT_TEMP_ALLOCATOR { old_memory: rawptr, old_size: int, loc := #caller_location) -> (data: []byte, err: Allocator_Error) { s := (^Default_Temp_Allocator)(allocator_data) + // Note(Ed) - Sectr Fork: The arena_alloc was originally doing this anyway, + // but I'm moving it to here since I want to have it assert if this is not set there. + if s.arena.backing_allocator.procedure == nil { + s.arena.backing_allocator = default_allocator() + } return arena_allocator_proc(&s.arena, mode, size, alignment, old_memory, old_size, loc) }