Lines Matching refs:chunk
23 static bool chunk_dalloc_default(void *chunk, size_t size, bool committed,
25 static bool chunk_commit_default(void *chunk, size_t size, size_t offset,
27 static bool chunk_decommit_default(void *chunk, size_t size, size_t offset,
29 static bool chunk_purge_default(void *chunk, size_t size, size_t offset,
31 static bool chunk_split_default(void *chunk, size_t size, size_t size_a,
54 void *chunk, size_t size, bool zeroed, bool committed);
142 chunk_register(const void *chunk, const extent_node_t *node) in chunk_register() argument
145 assert(extent_node_addr_get(node) == chunk); in chunk_register()
147 if (rtree_set(&chunks_rtree, (uintptr_t)chunk, node)) in chunk_register()
169 chunk_deregister(const void *chunk, const extent_node_t *node) in chunk_deregister() argument
173 err = rtree_set(&chunks_rtree, (uintptr_t)chunk, NULL); in chunk_deregister()
469 void *chunk, size_t size, bool zeroed, bool committed) in chunk_record() argument
477 JEMALLOC_VALGRIND_MAKE_MEM_NOACCESS(chunk, size); in chunk_record()
481 extent_node_init(&key, arena, (void *)((uintptr_t)chunk + size), 0, in chunk_record()
487 committed && !chunk_hooks->merge(chunk, size, in chunk_record()
497 extent_node_addr_set(node, chunk); in chunk_record()
514 chunk_purge_wrapper(arena, chunk_hooks, chunk, in chunk_record()
519 extent_node_init(node, arena, chunk, size, !unzeroed, in chunk_record()
529 extent_node_size_get(prev)) == chunk && in chunk_record()
532 extent_node_size_get(prev), chunk, size, false, arena->ind)) { in chunk_record()
559 chunk_dalloc_cache(arena_t *arena, chunk_hooks_t *chunk_hooks, void *chunk, in chunk_dalloc_cache() argument
563 assert(chunk != NULL); in chunk_dalloc_cache()
564 assert(CHUNK_ADDR2BASE(chunk) == chunk); in chunk_dalloc_cache()
569 &arena->chunks_ad_cached, true, chunk, size, false, committed); in chunk_dalloc_cache()
574 chunk_dalloc_arena(arena_t *arena, chunk_hooks_t *chunk_hooks, void *chunk, in chunk_dalloc_arena() argument
578 assert(chunk != NULL); in chunk_dalloc_arena()
579 assert(CHUNK_ADDR2BASE(chunk) == chunk); 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()
595 &arena->chunks_ad_retained, false, chunk, size, zeroed, committed); in chunk_dalloc_arena()
599 chunk_dalloc_default(void *chunk, size_t size, bool committed, in chunk_dalloc_default() argument
603 if (!have_dss || !chunk_in_dss(chunk)) in chunk_dalloc_default()
604 return (chunk_dalloc_mmap(chunk, size)); in chunk_dalloc_default()
609 chunk_dalloc_wrapper(arena_t *arena, chunk_hooks_t *chunk_hooks, void *chunk, in chunk_dalloc_wrapper() argument
614 chunk_hooks->dalloc(chunk, size, committed, arena->ind); in chunk_dalloc_wrapper()
616 JEMALLOC_VALGRIND_MAKE_MEM_NOACCESS(chunk, size); in chunk_dalloc_wrapper()
620 chunk_commit_default(void *chunk, size_t size, size_t offset, size_t length, in chunk_commit_default() argument
624 return (pages_commit((void *)((uintptr_t)chunk + (uintptr_t)offset), in chunk_commit_default()
629 chunk_decommit_default(void *chunk, size_t size, size_t offset, size_t length, in chunk_decommit_default() argument
633 return (pages_decommit((void *)((uintptr_t)chunk + (uintptr_t)offset), in chunk_decommit_default()
638 chunk_purge_arena(arena_t *arena, void *chunk, size_t offset, size_t length) in chunk_purge_arena() argument
641 assert(chunk != NULL); in chunk_purge_arena()
642 assert(CHUNK_ADDR2BASE(chunk) == chunk); in chunk_purge_arena()
647 return (pages_purge((void *)((uintptr_t)chunk + (uintptr_t)offset), in chunk_purge_arena()
652 chunk_purge_default(void *chunk, size_t size, size_t offset, size_t length, in chunk_purge_default() argument
656 return (chunk_purge_arena(chunk_arena_get(arena_ind), chunk, offset, in chunk_purge_default()
661 chunk_purge_wrapper(arena_t *arena, chunk_hooks_t *chunk_hooks, void *chunk, in chunk_purge_wrapper() argument
666 return (chunk_hooks->purge(chunk, size, offset, length, arena->ind)); in chunk_purge_wrapper()
670 chunk_split_default(void *chunk, size_t size, size_t size_a, size_t size_b, in chunk_split_default() argument