diff options
| author | DanielGavin <danielgavin5@hotmail.com> | 2021-03-12 16:31:09 +0100 |
|---|---|---|
| committer | DanielGavin <danielgavin5@hotmail.com> | 2021-03-12 16:31:09 +0100 |
| commit | 00ccd7e03e17dac40efb9b34a048d968dd77c218 (patch) | |
| tree | 24e9e8d9743bc3e98b63183d1f976b11ab6d93d2 /src/common/allocator.odin | |
| parent | baf86e02a2c45170d58ab828a13f52361129b255 (diff) | |
ran odinfmt on project
Diffstat (limited to 'src/common/allocator.odin')
| -rw-r--r-- | src/common/allocator.odin | 37 |
1 files changed, 18 insertions, 19 deletions
diff --git a/src/common/allocator.odin b/src/common/allocator.odin index ce96487..0adbedf 100644 --- a/src/common/allocator.odin +++ b/src/common/allocator.odin @@ -5,20 +5,20 @@ import "core:mem" Scratch_Allocator :: struct { data: []byte, curr_offset: int, - prev_allocation: rawptr, + prev_allocation: rawptr, backup_allocator: mem.Allocator, leaked_allocations: [dynamic]rawptr, } -scratch_allocator_init :: proc(s: ^Scratch_Allocator, size: int, backup_allocator := context.allocator) { - s.data = mem.make_aligned([]byte, size, 2*align_of(rawptr), backup_allocator); - s.curr_offset = 0; - s.prev_allocation = nil; - s.backup_allocator = backup_allocator; +scratch_allocator_init :: proc (s: ^Scratch_Allocator, size: int, backup_allocator := context.allocator) { + s.data = mem.make_aligned([]byte, size, 2 * align_of(rawptr), backup_allocator); + s.curr_offset = 0; + s.prev_allocation = nil; + s.backup_allocator = backup_allocator; s.leaked_allocations.allocator = backup_allocator; } -scratch_allocator_destroy :: proc(s: ^Scratch_Allocator) { +scratch_allocator_destroy :: proc (s: ^Scratch_Allocator) { if s == nil { return; } @@ -30,16 +30,16 @@ scratch_allocator_destroy :: proc(s: ^Scratch_Allocator) { s^ = {}; } -scratch_allocator_proc :: proc(allocator_data: rawptr, mode: mem.Allocator_Mode, - size, alignment: int, - old_memory: rawptr, old_size: int, flags: u64 = 0, loc := #caller_location) -> rawptr { +scratch_allocator_proc :: proc (allocator_data: rawptr, mode: mem.Allocator_Mode, +size, alignment: int, +old_memory: rawptr, old_size: int, flags: u64 = 0, loc := #caller_location) -> rawptr { s := (^Scratch_Allocator)(allocator_data); if s.data == nil { - DEFAULT_BACKING_SIZE :: 1<<22; - if !(context.allocator.procedure != scratch_allocator_proc && - context.allocator.data != allocator_data) { + DEFAULT_BACKING_SIZE :: 1 << 22; + if !(context.allocator.procedure != scratch_allocator_proc && + context.allocator.data != allocator_data) { panic("cyclic initialization of the scratch allocator with itself"); } scratch_allocator_init(s, DEFAULT_BACKING_SIZE); @@ -51,8 +51,8 @@ scratch_allocator_proc :: proc(allocator_data: rawptr, mode: mem.Allocator_Mode, case .Alloc: size = mem.align_forward_int(size, alignment); - switch { - case s.curr_offset+size <= len(s.data): + switch { + case s.curr_offset + size <= len(s.data): start := uintptr(raw_data(s.data)); ptr := start + uintptr(s.curr_offset); ptr = mem.align_forward_uintptr(ptr, uintptr(alignment)); @@ -65,7 +65,7 @@ scratch_allocator_proc :: proc(allocator_data: rawptr, mode: mem.Allocator_Mode, } a := s.backup_allocator; if a.procedure == nil { - a = context.allocator; + a = context.allocator; s.backup_allocator = a; } @@ -110,12 +110,11 @@ scratch_allocator_proc :: proc(allocator_data: rawptr, mode: mem.Allocator_Mode, return nil; } - return nil; } -scratch_allocator :: proc(allocator: ^Scratch_Allocator) -> mem.Allocator { - return mem.Allocator{ +scratch_allocator :: proc (allocator: ^Scratch_Allocator) -> mem.Allocator { + return mem.Allocator { procedure = scratch_allocator_proc, data = allocator, }; |