Lines Matching refs:chunk_hooks
52 static void chunk_record(arena_t *arena, chunk_hooks_t *chunk_hooks,
62 return (arena->chunk_hooks); in chunk_hooks_get_locked()
68 chunk_hooks_t chunk_hooks; in chunk_hooks_get() local
71 chunk_hooks = chunk_hooks_get_locked(arena); in chunk_hooks_get()
74 return (chunk_hooks); in chunk_hooks_get()
78 chunk_hooks_set(arena_t *arena, const chunk_hooks_t *chunk_hooks) in chunk_hooks_set() argument
83 old_chunk_hooks = arena->chunk_hooks; in chunk_hooks_set()
96 u.n = &arena->chunk_hooks.n; \ in chunk_hooks_set()
97 atomic_write_p(u.v, chunk_hooks->n); \ in chunk_hooks_set()
113 chunk_hooks_assure_initialized_impl(arena_t *arena, chunk_hooks_t *chunk_hooks, in chunk_hooks_assure_initialized_impl() argument
119 if (memcmp(chunk_hooks, &uninitialized_hooks, sizeof(chunk_hooks_t)) == in chunk_hooks_assure_initialized_impl()
121 *chunk_hooks = locked ? chunk_hooks_get_locked(arena) : in chunk_hooks_assure_initialized_impl()
128 chunk_hooks_t *chunk_hooks) in chunk_hooks_assure_initialized_locked() argument
131 chunk_hooks_assure_initialized_impl(arena, chunk_hooks, true); in chunk_hooks_assure_initialized_locked()
135 chunk_hooks_assure_initialized(arena_t *arena, chunk_hooks_t *chunk_hooks) in chunk_hooks_assure_initialized() argument
138 chunk_hooks_assure_initialized_impl(arena, chunk_hooks, false); in chunk_hooks_assure_initialized()
200 chunk_recycle(arena_t *arena, chunk_hooks_t *chunk_hooks, in chunk_recycle() argument
223 chunk_hooks_assure_initialized_locked(arena, chunk_hooks); in chunk_recycle()
252 chunk_hooks->split(extent_node_addr_get(node), in chunk_recycle()
271 if (chunk_hooks->split(ret, size + trailsize, size, in chunk_recycle()
276 chunk_record(arena, chunk_hooks, chunks_szad, chunks_ad, in chunk_recycle()
285 chunk_record(arena, chunk_hooks, chunks_szad, in chunk_recycle()
298 if (!committed && chunk_hooks->commit(ret, size, 0, size, arena->ind)) { in chunk_recycle()
300 chunk_record(arena, chunk_hooks, chunks_szad, chunks_ad, cache, in chunk_recycle()
335 chunk_hooks_t chunk_hooks = CHUNK_HOOKS_INITIALIZER; in chunk_alloc_core() local
343 if ((ret = chunk_recycle(arena, &chunk_hooks, in chunk_alloc_core()
393 chunk_alloc_cache(arena_t *arena, chunk_hooks_t *chunk_hooks, void *new_addr, in chunk_alloc_cache() argument
405 ret = chunk_recycle(arena, chunk_hooks, &arena->chunks_szad_cached, in chunk_alloc_cache()
451 chunk_alloc_wrapper(arena_t *arena, chunk_hooks_t *chunk_hooks, void *new_addr, in chunk_alloc_wrapper() argument
456 chunk_hooks_assure_initialized(arena, chunk_hooks); in chunk_alloc_wrapper()
457 ret = chunk_hooks->alloc(new_addr, size, alignment, zero, commit, in chunk_alloc_wrapper()
461 if (config_valgrind && chunk_hooks->alloc != chunk_alloc_default) in chunk_alloc_wrapper()
467 chunk_record(arena_t *arena, chunk_hooks_t *chunk_hooks, in chunk_record() argument
480 chunk_hooks_assure_initialized_locked(arena, chunk_hooks); in chunk_record()
487 committed && !chunk_hooks->merge(chunk, size, in chunk_record()
514 chunk_purge_wrapper(arena, chunk_hooks, chunk, in chunk_record()
531 !chunk_hooks->merge(extent_node_addr_get(prev), in chunk_record()
559 chunk_dalloc_cache(arena_t *arena, chunk_hooks_t *chunk_hooks, void *chunk, in chunk_dalloc_cache() argument
568 chunk_record(arena, chunk_hooks, &arena->chunks_szad_cached, in chunk_dalloc_cache()
574 chunk_dalloc_arena(arena_t *arena, chunk_hooks_t *chunk_hooks, void *chunk, in chunk_dalloc_arena() argument
583 chunk_hooks_assure_initialized(arena, chunk_hooks); in chunk_dalloc_arena()
585 if (!chunk_hooks->dalloc(chunk, size, committed, arena->ind)) in chunk_dalloc_arena()
589 committed = chunk_hooks->decommit(chunk, size, 0, size, in chunk_dalloc_arena()
592 zeroed = !committed || !chunk_hooks->purge(chunk, size, 0, size, in chunk_dalloc_arena()
594 chunk_record(arena, chunk_hooks, &arena->chunks_szad_retained, in chunk_dalloc_arena()
609 chunk_dalloc_wrapper(arena_t *arena, chunk_hooks_t *chunk_hooks, void *chunk, in chunk_dalloc_wrapper() argument
613 chunk_hooks_assure_initialized(arena, chunk_hooks); in chunk_dalloc_wrapper()
614 chunk_hooks->dalloc(chunk, size, committed, arena->ind); in chunk_dalloc_wrapper()
615 if (config_valgrind && chunk_hooks->dalloc != chunk_dalloc_default) in chunk_dalloc_wrapper()
661 chunk_purge_wrapper(arena_t *arena, chunk_hooks_t *chunk_hooks, void *chunk, in chunk_purge_wrapper() argument
665 chunk_hooks_assure_initialized(arena, chunk_hooks); in chunk_purge_wrapper()
666 return (chunk_hooks->purge(chunk, size, offset, length, arena->ind)); in chunk_purge_wrapper()