MCPcopy Create free account
hub / github.com/Snapchat/KeyDB / extent_coalesce

Function extent_coalesce

deps/jemalloc/src/extent.c:1579–1597  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1577}
1578
1579static bool
1580extent_coalesce(tsdn_t *tsdn, arena_t *arena, extent_hooks_t **r_extent_hooks,
1581 extents_t *extents, extent_t *inner, extent_t *outer, bool forward,
1582 bool growing_retained) {
1583 assert(extent_can_coalesce(arena, extents, inner, outer));
1584
1585 extent_activate_locked(tsdn, arena, extents, outer);
1586
1587 malloc_mutex_unlock(tsdn, &extents->mtx);
1588 bool err = extent_merge_impl(tsdn, arena, r_extent_hooks,
1589 forward ? inner : outer, forward ? outer : inner, growing_retained);
1590 malloc_mutex_lock(tsdn, &extents->mtx);
1591
1592 if (err) {
1593 extent_deactivate_locked(tsdn, arena, extents, outer);
1594 }
1595
1596 return err;
1597}
1598
1599static extent_t *
1600extent_try_coalesce_impl(tsdn_t *tsdn, arena_t *arena,

Callers 1

extent_try_coalesce_implFunction · 0.70

Calls 6

extent_can_coalesceFunction · 0.70
extent_activate_lockedFunction · 0.70
extent_merge_implFunction · 0.70
extent_deactivate_lockedFunction · 0.70
malloc_mutex_unlockFunction · 0.50
malloc_mutex_lockFunction · 0.50

Tested by

no test coverage detected