Lines Matching defs:arena
14 large_malloc(tsdn_t *tsdn, arena_t *arena, size_t usize, bool zero) {
17 return large_palloc(tsdn, arena, usize, CACHELINE, zero);
21 large_palloc(tsdn_t *tsdn, arena_t *arena, size_t usize, size_t alignment,
27 assert(!tsdn_null(tsdn) || arena != NULL);
35 arena = arena_choose_maybe_huge(tsdn_tsd(tsdn), arena, usize);
37 if (unlikely(arena == NULL) || (edata = arena_extent_alloc_large(tsdn,
38 arena, usize, alignment, zero)) == NULL) {
43 if (!arena_is_auto(arena)) {
45 malloc_mutex_lock(tsdn, &arena->large_mtx);
46 edata_list_active_append(&arena->large, edata);
47 malloc_mutex_unlock(tsdn, &arena->large_mtx);
50 arena_decay_tick(tsdn, arena);
56 arena_t *arena = arena_get_from_edata(edata);
57 ehooks_t *ehooks = arena_get_ehooks(arena);
68 bool err = pa_shrink(tsdn, &arena->pa_shard, edata, old_size,
75 arena_handle_deferred_work(tsdn, arena);
77 arena_extent_ralloc_large_shrink(tsdn, arena, edata, old_usize);
85 arena_t *arena = arena_get_from_edata(edata);
94 bool err = pa_expand(tsdn, &arena->pa_shard, edata, old_size, new_size,
98 arena_handle_deferred_work(tsdn, arena);
124 arena_extent_ralloc_large_expand(tsdn, arena, edata, old_usize);
175 large_ralloc_move_helper(tsdn_t *tsdn, arena_t *arena, size_t usize,
178 return large_malloc(tsdn, arena, usize, zero);
180 return large_palloc(tsdn, arena, usize, alignment, zero);
184 large_ralloc(tsdn_t *tsdn, arena_t *arena, void *ptr, size_t usize,
209 void *ret = large_ralloc_move_helper(tsdn, arena, usize, alignment,
228 * locked indicates whether the arena's large_mtx is currently held.
231 large_dalloc_prep_impl(tsdn_t *tsdn, arena_t *arena, edata_t *edata,
235 if (!arena_is_auto(arena)) {
236 malloc_mutex_lock(tsdn, &arena->large_mtx);
237 edata_list_active_remove(&arena->large, edata);
238 malloc_mutex_unlock(tsdn, &arena->large_mtx);
242 if (!arena_is_auto(arena)) {
243 malloc_mutex_assert_owner(tsdn, &arena->large_mtx);
244 edata_list_active_remove(&arena->large, edata);
247 arena_extent_dalloc_large_prep(tsdn, arena, edata);
251 large_dalloc_finish_impl(tsdn_t *tsdn, arena_t *arena, edata_t *edata) {
253 pa_dalloc(tsdn, &arena->pa_shard, edata, &deferred_work_generated);
255 arena_handle_deferred_work(tsdn, arena);
271 arena_t *arena = arena_get_from_edata(edata);
272 large_dalloc_prep_impl(tsdn, arena, edata, false);
273 large_dalloc_finish_impl(tsdn, arena, edata);
274 arena_decay_tick(tsdn, arena);