Deleted Added
full compact
18c18
< huge_node_set(const void *ptr, extent_node_t *node)
---
> huge_node_set(tsdn_t *tsdn, const void *ptr, extent_node_t *node)
23c23
< return (chunk_register(ptr, node));
---
> return (chunk_register(tsdn, ptr, node));
26a27,35
> huge_node_reset(tsdn_t *tsdn, const void *ptr, extent_node_t *node)
> {
> bool err;
>
> err = huge_node_set(tsdn, ptr, node);
> assert(!err);
> }
>
> static void
34,35c43
< huge_malloc(tsd_t *tsd, arena_t *arena, size_t usize, bool zero,
< tcache_t *tcache)
---
> huge_malloc(tsdn_t *tsdn, arena_t *arena, size_t usize, bool zero)
40c48
< return (huge_palloc(tsd, arena, usize, chunksize, zero, tcache));
---
> return (huge_palloc(tsdn, arena, usize, chunksize, zero));
44,45c52,53
< huge_palloc(tsd_t *tsd, arena_t *arena, size_t usize, size_t alignment,
< bool zero, tcache_t *tcache)
---
> huge_palloc(tsdn_t *tsdn, arena_t *arena, size_t usize, size_t alignment,
> bool zero)
53a62,63
> assert(!tsdn_null(tsdn) || arena != NULL);
>
60,61c70,71
< node = ipallocztm(tsd, CACHELINE_CEILING(sizeof(extent_node_t)),
< CACHELINE, false, tcache, true, arena);
---
> node = ipallocztm(tsdn, CACHELINE_CEILING(sizeof(extent_node_t)),
> CACHELINE, false, NULL, true, arena_ichoose(tsdn, arena));
70,73c80,84
< arena = arena_choose(tsd, arena);
< if (unlikely(arena == NULL) || (ret = arena_chunk_alloc_huge(arena,
< usize, alignment, &is_zeroed)) == NULL) {
< idalloctm(tsd, node, tcache, true, true);
---
> if (likely(!tsdn_null(tsdn)))
> arena = arena_choose(tsdn_tsd(tsdn), arena);
> if (unlikely(arena == NULL) || (ret = arena_chunk_alloc_huge(tsdn,
> arena, usize, alignment, &is_zeroed)) == NULL) {
> idalloctm(tsdn, node, NULL, true, true);
79,81c90,92
< if (huge_node_set(ret, node)) {
< arena_chunk_dalloc_huge(arena, ret, usize);
< idalloctm(tsd, node, tcache, true, true);
---
> if (huge_node_set(tsdn, ret, node)) {
> arena_chunk_dalloc_huge(tsdn, arena, ret, usize);
> idalloctm(tsdn, node, NULL, true, true);
86c97
< malloc_mutex_lock(&arena->huge_mtx);
---
> malloc_mutex_lock(tsdn, &arena->huge_mtx);
89c100
< malloc_mutex_unlock(&arena->huge_mtx);
---
> malloc_mutex_unlock(tsdn, &arena->huge_mtx);
95c106
< memset(ret, 0xa5, usize);
---
> memset(ret, JEMALLOC_ALLOC_JUNK, usize);
97c108
< arena_decay_tick(tsd, arena);
---
> arena_decay_tick(tsdn, arena);
106c117
< huge_dalloc_junk(void *ptr, size_t usize)
---
> huge_dalloc_junk(tsdn_t *tsdn, void *ptr, size_t usize)
114,115c125,126
< if (!config_munmap || (have_dss && chunk_in_dss(ptr)))
< memset(ptr, 0x5a, usize);
---
> if (!config_munmap || (have_dss && chunk_in_dss(tsdn, ptr)))
> memset(ptr, JEMALLOC_FREE_JUNK, usize);
125,126c136,137
< huge_ralloc_no_move_similar(void *ptr, size_t oldsize, size_t usize_min,
< size_t usize_max, bool zero)
---
> huge_ralloc_no_move_similar(tsdn_t *tsdn, void *ptr, size_t oldsize,
> size_t usize_min, size_t usize_max, bool zero)
150c161,162
< memset((void *)((uintptr_t)ptr + usize), 0x5a, sdiff);
---
> memset((void *)((uintptr_t)ptr + usize),
> JEMALLOC_FREE_JUNK, sdiff);
153,154c165,167
< post_zeroed = !chunk_purge_wrapper(arena, &chunk_hooks,
< ptr, CHUNK_CEILING(oldsize), usize, sdiff);
---
> post_zeroed = !chunk_purge_wrapper(tsdn, arena,
> &chunk_hooks, ptr, CHUNK_CEILING(oldsize), usize,
> sdiff);
159c172
< malloc_mutex_lock(&arena->huge_mtx);
---
> malloc_mutex_lock(tsdn, &arena->huge_mtx);
160a174
> huge_node_unset(ptr, node);
162a177
> huge_node_reset(tsdn, ptr, node);
165c180
< malloc_mutex_unlock(&arena->huge_mtx);
---
> malloc_mutex_unlock(tsdn, &arena->huge_mtx);
167c182
< arena_chunk_ralloc_huge_similar(arena, ptr, oldsize, usize);
---
> arena_chunk_ralloc_huge_similar(tsdn, arena, ptr, oldsize, usize);
177,178c192,193
< memset((void *)((uintptr_t)ptr + oldsize), 0xa5, usize -
< oldsize);
---
> memset((void *)((uintptr_t)ptr + oldsize),
> JEMALLOC_ALLOC_JUNK, usize - oldsize);
184c199,200
< huge_ralloc_no_move_shrink(void *ptr, size_t oldsize, size_t usize)
---
> huge_ralloc_no_move_shrink(tsdn_t *tsdn, void *ptr, size_t oldsize,
> size_t usize)
195c211
< chunk_hooks = chunk_hooks_get(arena);
---
> chunk_hooks = chunk_hooks_get(tsdn, arena);
208c224
< huge_dalloc_junk((void *)((uintptr_t)ptr + usize),
---
> huge_dalloc_junk(tsdn, (void *)((uintptr_t)ptr + usize),
212,214c228,230
< post_zeroed = !chunk_purge_wrapper(arena, &chunk_hooks,
< CHUNK_ADDR2BASE((uintptr_t)ptr + usize),
< CHUNK_CEILING(oldsize),
---
> post_zeroed = !chunk_purge_wrapper(tsdn, arena,
> &chunk_hooks, CHUNK_ADDR2BASE((uintptr_t)ptr +
> usize), CHUNK_CEILING(oldsize),
220c236
< malloc_mutex_lock(&arena->huge_mtx);
---
> malloc_mutex_lock(tsdn, &arena->huge_mtx);
221a238
> huge_node_unset(ptr, node);
222a240
> huge_node_reset(tsdn, ptr, node);
225c243
< malloc_mutex_unlock(&arena->huge_mtx);
---
> malloc_mutex_unlock(tsdn, &arena->huge_mtx);
228c246
< arena_chunk_ralloc_huge_shrink(arena, ptr, oldsize, usize);
---
> arena_chunk_ralloc_huge_shrink(tsdn, arena, ptr, oldsize, usize);
234c252,253
< huge_ralloc_no_move_expand(void *ptr, size_t oldsize, size_t usize, bool zero) {
---
> huge_ralloc_no_move_expand(tsdn_t *tsdn, void *ptr, size_t oldsize,
> size_t usize, bool zero) {
241c260
< malloc_mutex_lock(&arena->huge_mtx);
---
> malloc_mutex_lock(tsdn, &arena->huge_mtx);
243c262
< malloc_mutex_unlock(&arena->huge_mtx);
---
> malloc_mutex_unlock(tsdn, &arena->huge_mtx);
251c270
< if (arena_chunk_ralloc_huge_expand(arena, ptr, oldsize, usize,
---
> if (arena_chunk_ralloc_huge_expand(tsdn, arena, ptr, oldsize, usize,
255c274
< malloc_mutex_lock(&arena->huge_mtx);
---
> malloc_mutex_lock(tsdn, &arena->huge_mtx);
256a276
> huge_node_unset(ptr, node);
258c278,279
< malloc_mutex_unlock(&arena->huge_mtx);
---
> huge_node_reset(tsdn, ptr, node);
> malloc_mutex_unlock(tsdn, &arena->huge_mtx);
271,272c292,293
< memset((void *)((uintptr_t)ptr + oldsize), 0xa5, usize -
< oldsize);
---
> memset((void *)((uintptr_t)ptr + oldsize), JEMALLOC_ALLOC_JUNK,
> usize - oldsize);
279c300
< huge_ralloc_no_move(tsd_t *tsd, void *ptr, size_t oldsize, size_t usize_min,
---
> huge_ralloc_no_move(tsdn_t *tsdn, void *ptr, size_t oldsize, size_t usize_min,
293c314
< if (!huge_ralloc_no_move_expand(ptr, oldsize, usize_max,
---
> if (!huge_ralloc_no_move_expand(tsdn, ptr, oldsize, usize_max,
295c316
< arena_decay_tick(tsd, huge_aalloc(ptr));
---
> arena_decay_tick(tsdn, huge_aalloc(ptr));
300,302c321,323
< CHUNK_CEILING(oldsize) && huge_ralloc_no_move_expand(ptr,
< oldsize, usize_min, zero)) {
< arena_decay_tick(tsd, huge_aalloc(ptr));
---
> CHUNK_CEILING(oldsize) && huge_ralloc_no_move_expand(tsdn,
> ptr, oldsize, usize_min, zero)) {
> arena_decay_tick(tsdn, huge_aalloc(ptr));
313,315c334,336
< huge_ralloc_no_move_similar(ptr, oldsize, usize_min, usize_max,
< zero);
< arena_decay_tick(tsd, huge_aalloc(ptr));
---
> huge_ralloc_no_move_similar(tsdn, ptr, oldsize, usize_min,
> usize_max, zero);
> arena_decay_tick(tsdn, huge_aalloc(ptr));
321,322c342,344
< if (!huge_ralloc_no_move_shrink(ptr, oldsize, usize_max)) {
< arena_decay_tick(tsd, huge_aalloc(ptr));
---
> if (!huge_ralloc_no_move_shrink(tsdn, ptr, oldsize,
> usize_max)) {
> arena_decay_tick(tsdn, huge_aalloc(ptr));
330,331c352,353
< huge_ralloc_move_helper(tsd_t *tsd, arena_t *arena, size_t usize,
< size_t alignment, bool zero, tcache_t *tcache)
---
> huge_ralloc_move_helper(tsdn_t *tsdn, arena_t *arena, size_t usize,
> size_t alignment, bool zero)
335,336c357,358
< return (huge_malloc(tsd, arena, usize, zero, tcache));
< return (huge_palloc(tsd, arena, usize, alignment, zero, tcache));
---
> return (huge_malloc(tsdn, arena, usize, zero));
> return (huge_palloc(tsdn, arena, usize, alignment, zero));
340,341c362,363
< huge_ralloc(tsd_t *tsd, arena_t *arena, void *ptr, size_t oldsize, size_t usize,
< size_t alignment, bool zero, tcache_t *tcache)
---
> huge_ralloc(tsd_t *tsd, arena_t *arena, void *ptr, size_t oldsize,
> size_t usize, size_t alignment, bool zero, tcache_t *tcache)
350c372,373
< if (!huge_ralloc_no_move(tsd, ptr, oldsize, usize, usize, zero))
---
> if (!huge_ralloc_no_move(tsd_tsdn(tsd), ptr, oldsize, usize, usize,
> zero))
358,359c381,382
< ret = huge_ralloc_move_helper(tsd, arena, usize, alignment, zero,
< tcache);
---
> ret = huge_ralloc_move_helper(tsd_tsdn(tsd), arena, usize, alignment,
> zero);
365c388
< isqalloc(tsd, ptr, oldsize, tcache);
---
> isqalloc(tsd, ptr, oldsize, tcache, true);
370c393
< huge_dalloc(tsd_t *tsd, void *ptr, tcache_t *tcache)
---
> huge_dalloc(tsdn_t *tsdn, void *ptr)
378c401
< malloc_mutex_lock(&arena->huge_mtx);
---
> malloc_mutex_lock(tsdn, &arena->huge_mtx);
380c403
< malloc_mutex_unlock(&arena->huge_mtx);
---
> malloc_mutex_unlock(tsdn, &arena->huge_mtx);
382c405
< huge_dalloc_junk(extent_node_addr_get(node),
---
> huge_dalloc_junk(tsdn, extent_node_addr_get(node),
384c407
< arena_chunk_dalloc_huge(extent_node_arena_get(node),
---
> arena_chunk_dalloc_huge(tsdn, extent_node_arena_get(node),
386c409
< idalloctm(tsd, node, tcache, true, true);
---
> idalloctm(tsdn, node, NULL, true, true);
388c411
< arena_decay_tick(tsd, arena);
---
> arena_decay_tick(tsdn, arena);
399c422
< huge_salloc(const void *ptr)
---
> huge_salloc(tsdn_t *tsdn, const void *ptr)
407c430
< malloc_mutex_lock(&arena->huge_mtx);
---
> malloc_mutex_lock(tsdn, &arena->huge_mtx);
409c432
< malloc_mutex_unlock(&arena->huge_mtx);
---
> malloc_mutex_unlock(tsdn, &arena->huge_mtx);
415c438
< huge_prof_tctx_get(const void *ptr)
---
> huge_prof_tctx_get(tsdn_t *tsdn, const void *ptr)
423c446
< malloc_mutex_lock(&arena->huge_mtx);
---
> malloc_mutex_lock(tsdn, &arena->huge_mtx);
425c448
< malloc_mutex_unlock(&arena->huge_mtx);
---
> malloc_mutex_unlock(tsdn, &arena->huge_mtx);
431c454
< huge_prof_tctx_set(const void *ptr, prof_tctx_t *tctx)
---
> huge_prof_tctx_set(tsdn_t *tsdn, const void *ptr, prof_tctx_t *tctx)
438c461
< malloc_mutex_lock(&arena->huge_mtx);
---
> malloc_mutex_lock(tsdn, &arena->huge_mtx);
440c463
< malloc_mutex_unlock(&arena->huge_mtx);
---
> malloc_mutex_unlock(tsdn, &arena->huge_mtx);
444c467
< huge_prof_tctx_reset(const void *ptr)
---
> huge_prof_tctx_reset(tsdn_t *tsdn, const void *ptr)
447c470
< huge_prof_tctx_set(ptr, (prof_tctx_t *)(uintptr_t)1U);
---
> huge_prof_tctx_set(tsdn, ptr, (prof_tctx_t *)(uintptr_t)1U);