diff --git a/include/jemalloc/internal/extent.h b/include/jemalloc/internal/extent.h index e615fb6e..bb01254c 100644 --- a/include/jemalloc/internal/extent.h +++ b/include/jemalloc/internal/extent.h @@ -33,7 +33,8 @@ edata_t *ecache_evict(tsdn_t *tsdn, arena_t *arena, ehooks_t *ehooks, edata_t *extent_alloc_wrapper(tsdn_t *tsdn, arena_t *arena, ehooks_t *ehooks, void *new_addr, size_t size, size_t alignment, bool slab, szind_t szind, bool *zero, bool *commit); -void extent_dalloc_gap(tsdn_t *tsdn, arena_t *arena, edata_t *edata); +void extent_dalloc_gap(tsdn_t *tsdn, arena_t *arena, ehooks_t *ehooks, + edata_t *edata); void extent_dalloc_wrapper(tsdn_t *tsdn, arena_t *arena, ehooks_t *ehooks, edata_t *edata); void extent_destroy_wrapper(tsdn_t *tsdn, arena_t *arena, ehooks_t *ehooks, diff --git a/src/extent.c b/src/extent.c index 8411e8aa..0162494e 100644 --- a/src/extent.c +++ b/src/extent.c @@ -1026,9 +1026,8 @@ extent_record(tsdn_t *tsdn, arena_t *arena, ehooks_t *ehooks, ecache_t *ecache, } void -extent_dalloc_gap(tsdn_t *tsdn, arena_t *arena, edata_t *edata) { - ehooks_t *ehooks = arena_get_ehooks(arena); - +extent_dalloc_gap(tsdn_t *tsdn, arena_t *arena, ehooks_t *ehooks, + edata_t *edata) { witness_assert_depth_to_rank(tsdn_witness_tsdp_get(tsdn), WITNESS_RANK_CORE, 0); diff --git a/src/extent_dss.c b/src/extent_dss.c index 7746a208..55f037ef 100644 --- a/src/extent_dss.c +++ b/src/extent_dss.c @@ -186,7 +186,10 @@ extent_alloc_dss(tsdn_t *tsdn, arena_t *arena, void *new_addr, size_t size, extent_dss_extending_finish(); if (gap_size_page != 0) { - extent_dalloc_gap(tsdn, arena, gap); + ehooks_t *ehooks = arena_get_ehooks( + arena); + extent_dalloc_gap(tsdn, arena, ehooks, + gap); } else { edata_cache_put(tsdn, &arena->pa_shard.edata_cache, gap);