Changeset View
Changeset View
Standalone View
Standalone View
contrib/jemalloc/src/extent.c
Show First 20 Lines • Show All 1,635 Lines • ▼ Show 20 Lines | if (next != NULL) { | ||||
*coalesced = true; | *coalesced = true; | ||||
return extent; | return extent; | ||||
} | } | ||||
again = true; | again = true; | ||||
} | } | ||||
} | } | ||||
/* Try to coalesce backward. */ | /* Try to coalesce backward. */ | ||||
extent_t *prev = extent_lock_from_addr(tsdn, rtree_ctx, | extent_t *prev = NULL; | ||||
if (extent_before_get(extent) != NULL) { | |||||
prev = extent_lock_from_addr(tsdn, rtree_ctx, | |||||
extent_before_get(extent), inactive_only); | extent_before_get(extent), inactive_only); | ||||
} | |||||
if (prev != NULL) { | if (prev != NULL) { | ||||
bool can_coalesce = extent_can_coalesce(arena, extents, | bool can_coalesce = extent_can_coalesce(arena, extents, | ||||
extent, prev); | extent, prev); | ||||
extent_unlock(tsdn, prev); | extent_unlock(tsdn, prev); | ||||
if (can_coalesce && !extent_coalesce(tsdn, arena, | if (can_coalesce && !extent_coalesce(tsdn, arena, | ||||
r_extent_hooks, extents, extent, prev, false, | r_extent_hooks, extents, extent, prev, false, | ||||
growing_retained)) { | growing_retained)) { | ||||
▲ Show 20 Lines • Show All 750 Lines • Show Last 20 Lines |