Extents: Have extent_dalloc_gap take ehooks.
We're almost to the point where the extent code doesn't know about arenas at all. In that world, we shouldn't pull them out of the arena.
This commit is contained in:
parent
22a0a7b93a
commit
3192d6b77d
@ -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,
|
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,
|
void *new_addr, size_t size, size_t alignment, bool slab, szind_t szind,
|
||||||
bool *zero, bool *commit);
|
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,
|
void extent_dalloc_wrapper(tsdn_t *tsdn, arena_t *arena, ehooks_t *ehooks,
|
||||||
edata_t *edata);
|
edata_t *edata);
|
||||||
void extent_destroy_wrapper(tsdn_t *tsdn, arena_t *arena, ehooks_t *ehooks,
|
void extent_destroy_wrapper(tsdn_t *tsdn, arena_t *arena, ehooks_t *ehooks,
|
||||||
|
@ -1026,9 +1026,8 @@ extent_record(tsdn_t *tsdn, arena_t *arena, ehooks_t *ehooks, ecache_t *ecache,
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
extent_dalloc_gap(tsdn_t *tsdn, arena_t *arena, edata_t *edata) {
|
extent_dalloc_gap(tsdn_t *tsdn, arena_t *arena, ehooks_t *ehooks,
|
||||||
ehooks_t *ehooks = arena_get_ehooks(arena);
|
edata_t *edata) {
|
||||||
|
|
||||||
witness_assert_depth_to_rank(tsdn_witness_tsdp_get(tsdn),
|
witness_assert_depth_to_rank(tsdn_witness_tsdp_get(tsdn),
|
||||||
WITNESS_RANK_CORE, 0);
|
WITNESS_RANK_CORE, 0);
|
||||||
|
|
||||||
|
@ -186,7 +186,10 @@ extent_alloc_dss(tsdn_t *tsdn, arena_t *arena, void *new_addr, size_t size,
|
|||||||
extent_dss_extending_finish();
|
extent_dss_extending_finish();
|
||||||
|
|
||||||
if (gap_size_page != 0) {
|
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 {
|
} else {
|
||||||
edata_cache_put(tsdn,
|
edata_cache_put(tsdn,
|
||||||
&arena->pa_shard.edata_cache, gap);
|
&arena->pa_shard.edata_cache, gap);
|
||||||
|
Loading…
Reference in New Issue
Block a user