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

Function base_extent_bump_alloc_helper

deps/jemalloc/src/base.c:179–195  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

177}
178
179static void *
180base_extent_bump_alloc_helper(extent_t *extent, size_t *gap_size, size_t size,
181 size_t alignment) {
182 void *ret;
183
184 assert(alignment == ALIGNMENT_CEILING(alignment, QUANTUM));
185 assert(size == ALIGNMENT_CEILING(size, alignment));
186
187 *gap_size = ALIGNMENT_CEILING((uintptr_t)extent_addr_get(extent),
188 alignment) - (uintptr_t)extent_addr_get(extent);
189 ret = (void *)((uintptr_t)extent_addr_get(extent) + *gap_size);
190 assert(extent_bsize_get(extent) >= *gap_size + size);
191 extent_binit(extent, (void *)((uintptr_t)extent_addr_get(extent) +
192 *gap_size + size), extent_bsize_get(extent) - *gap_size - size,
193 extent_sn_get(extent));
194 return ret;
195}
196
197static void
198base_extent_bump_alloc_post(base_t *base, extent_t *extent, size_t gap_size,

Callers 2

base_extent_bump_allocFunction · 0.70
base_newFunction · 0.70

Calls 4

extent_addr_getFunction · 0.50
extent_bsize_getFunction · 0.50
extent_binitFunction · 0.50
extent_sn_getFunction · 0.50

Tested by

no test coverage detected