mirror of
https://github.com/Ed94/Odin.git
synced 2026-08-04 14:48:47 +00:00
add resize non zeroed in more places
This commit is contained in:
@@ -80,6 +80,13 @@ log_allocator_proc :: proc(allocator_data: rawptr, mode: runtime.Allocator_Mode,
|
|||||||
la.prefix, padding, old_memory, old_size, size, alignment,
|
la.prefix, padding, old_memory, old_size, size, alignment,
|
||||||
location = location,
|
location = location,
|
||||||
)
|
)
|
||||||
|
case .Resize_Non_Zeroed:
|
||||||
|
logf(
|
||||||
|
la.level,
|
||||||
|
"%s%s>>> ALLOCATOR(mode=.Resize_Non_Zeroed, ptr=%p, old_size=%d, size=%d, alignment=%d)",
|
||||||
|
la.prefix, padding, old_memory, old_size, size, alignment,
|
||||||
|
location = location,
|
||||||
|
)
|
||||||
case .Query_Features:
|
case .Query_Features:
|
||||||
logf(
|
logf(
|
||||||
la.level,
|
la.level,
|
||||||
|
|||||||
@@ -288,7 +288,7 @@ arena_allocator_proc :: proc(allocator_data: rawptr, mode: mem.Allocator_Mode,
|
|||||||
err = .Mode_Not_Implemented
|
err = .Mode_Not_Implemented
|
||||||
case .Free_All:
|
case .Free_All:
|
||||||
arena_free_all(arena, location)
|
arena_free_all(arena, location)
|
||||||
case .Resize:
|
case .Resize, .Resize_Non_Zeroed:
|
||||||
old_data := ([^]byte)(old_memory)
|
old_data := ([^]byte)(old_memory)
|
||||||
|
|
||||||
switch {
|
switch {
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ when ODIN_DEFAULT_TO_NIL_ALLOCATOR {
|
|||||||
case .Free_All:
|
case .Free_All:
|
||||||
return nil, .Mode_Not_Implemented
|
return nil, .Mode_Not_Implemented
|
||||||
|
|
||||||
case .Resize:
|
case .Resize, .Resize_Non_Zeroed:
|
||||||
data, err = _windows_default_resize(old_memory, old_size, size, alignment)
|
data, err = _windows_default_resize(old_memory, old_size, size, alignment)
|
||||||
|
|
||||||
case .Query_Features:
|
case .Query_Features:
|
||||||
|
|||||||
Vendored
+1
-1
@@ -507,7 +507,7 @@ cmark_allocator_proc :: proc(allocator_data: rawptr, mode: runtime.Allocator_Mod
|
|||||||
case .Free_All:
|
case .Free_All:
|
||||||
return nil, .Mode_Not_Implemented
|
return nil, .Mode_Not_Implemented
|
||||||
|
|
||||||
case .Resize:
|
case .Resize, .Resize_Non_Zeroed:
|
||||||
new_ptr := cmark_alloc.realloc(old_memory, c.size_t(size))
|
new_ptr := cmark_alloc.realloc(old_memory, c.size_t(size))
|
||||||
res = transmute([]byte)runtime.Raw_Slice{new_ptr, size}
|
res = transmute([]byte)runtime.Raw_Slice{new_ptr, size}
|
||||||
if size > old_size {
|
if size > old_size {
|
||||||
|
|||||||
Vendored
+1
-1
@@ -1683,7 +1683,7 @@ MemAllocatorProc :: proc(allocator_data: rawptr, mode: mem.Allocator_Mode,
|
|||||||
MemFree(old_memory)
|
MemFree(old_memory)
|
||||||
return nil, nil
|
return nil, nil
|
||||||
|
|
||||||
case .Resize:
|
case .Resize, .Resize_Non_Zeroed:
|
||||||
ptr := MemRealloc(old_memory, c.uint(size))
|
ptr := MemRealloc(old_memory, c.uint(size))
|
||||||
if ptr == nil {
|
if ptr == nil {
|
||||||
err = .Out_Of_Memory
|
err = .Out_Of_Memory
|
||||||
|
|||||||
Reference in New Issue
Block a user