From 7e6dde26ad93e26b712e99561cc856dd335070f1 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Mon, 13 Jan 2025 01:33:59 -0500 Subject: [PATCH] Move setting arena backing ot default temp allocator, forgot assert for arena_alloc in default_temp_allocator_arena --- base/runtime/default_temp_allocator_arena.odin | 1 + base/runtime/default_temporary_allocator.odin | 5 +++++ 2 files changed, 6 insertions(+) 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) }