diff options
| -rw-r--r-- | core/container/pool/pool.odin | 10 | ||||
| -rw-r--r-- | core/container/pool/pool_arena_others.odin | 4 | ||||
| -rw-r--r-- | core/container/pool/pool_arena_virtual.odin | 4 |
3 files changed, 7 insertions, 11 deletions
diff --git a/core/container/pool/pool.odin b/core/container/pool/pool.odin index 01fb29f2d..55ea57d55 100644 --- a/core/container/pool/pool.odin +++ b/core/container/pool/pool.odin @@ -1,12 +1,12 @@ package container_pool import "base:intrinsics" +import "base:runtime" import "base:sanitizer" - -import "core:mem" import "core:sync" _ :: sanitizer +_ :: sync DEFAULT_BLOCK_SIZE :: _DEFAULT_BLOCK_SIZE @@ -33,7 +33,7 @@ Pool :: struct($T: typeid) { } @(require_results) -init :: proc(p: ^Pool($T), $link_field: string, block_size: uint = DEFAULT_BLOCK_SIZE) -> (err: mem.Allocator_Error) +init :: proc(p: ^Pool($T), $link_field: string, block_size: uint = DEFAULT_BLOCK_SIZE) -> (err: runtime.Allocator_Error) where intrinsics.type_has_field(T, link_field), intrinsics.type_field_type(T, link_field) == ^T { p.link_off = offset_of_by_string(T, link_field) @@ -58,7 +58,7 @@ destroy :: proc(p: ^Pool($T)) { } @(require_results) -get :: proc(p: ^Pool($T)) -> (elem: ^T, err: mem.Allocator_Error) #optional_allocator_error { +get :: proc(p: ^Pool($T)) -> (elem: ^T, err: runtime.Allocator_Error) #optional_allocator_error { defer sync.atomic_add_explicit(&p.num_outstanding, 1, .Relaxed) for { @@ -78,7 +78,7 @@ get :: proc(p: ^Pool($T)) -> (elem: ^T, err: mem.Allocator_Error) #optional_allo } put :: proc(p: ^Pool($T), elem: ^T) { - mem.zero_item(elem) + intrinsics.mem_zero(elem, size_of(T)) _poison_elem(p, elem) defer sync.atomic_sub_explicit(&p.num_outstanding, 1, .Relaxed) diff --git a/core/container/pool/pool_arena_others.odin b/core/container/pool/pool_arena_others.odin index 3069076f7..d2e01ffb7 100644 --- a/core/container/pool/pool_arena_others.odin +++ b/core/container/pool/pool_arena_others.odin @@ -9,11 +9,9 @@ package container_pool import "base:runtime" -import "core:mem" - _Pool_Arena :: runtime.Arena -_DEFAULT_BLOCK_SIZE :: mem.Megabyte +_DEFAULT_BLOCK_SIZE :: runtime.Megabyte _pool_arena_init :: proc(arena: ^Pool_Arena, block_size: uint = DEFAULT_BLOCK_SIZE) -> (err: runtime.Allocator_Error) { runtime.arena_init(arena, block_size, runtime.default_allocator()) or_return diff --git a/core/container/pool/pool_arena_virtual.odin b/core/container/pool/pool_arena_virtual.odin index 192e60260..d622990fd 100644 --- a/core/container/pool/pool_arena_virtual.odin +++ b/core/container/pool/pool_arena_virtual.odin @@ -2,13 +2,11 @@ package container_pool import "base:runtime" - -import "core:mem" import "core:mem/virtual" _Pool_Arena :: virtual.Arena -_DEFAULT_BLOCK_SIZE :: mem.Gigabyte +_DEFAULT_BLOCK_SIZE :: runtime.Gigabyte _pool_arena_init :: proc(arena: ^Pool_Arena, block_size: uint = DEFAULT_BLOCK_SIZE) -> (err: runtime.Allocator_Error) { virtual.arena_init_growing(arena, block_size) or_return |