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

import "base:runtime"

import "core:mem"
import "core:mem/virtual"

_Pool_Arena :: virtual.Arena

_DEFAULT_BLOCK_SIZE :: mem.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)
}