aboutsummaryrefslogtreecommitdiff
path: root/core/container/pool/pool_arena_virtual.odin
blob: d622990fd53f1d61186f690139557a703a31b8a1 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#+build darwin, freebsd, openbsd, netbsd, linux, windows
package container_pool

import "base:runtime"
import "core:mem/virtual"

_Pool_Arena :: virtual.Arena

_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
	return
}

_pool_arena_allocator :: proc(arena: ^Pool_Arena) -> runtime.Allocator {
	return virtual.arena_allocator(arena)
}

_pool_arena_destroy :: proc(arena: ^Pool_Arena) {
	virtual.arena_destroy(arena)
}