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

Function rtree_leaf_elm_slab_write

deps/jemalloc/include/jemalloc/internal/rtree.h:279–292  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

277}
278
279static inline void
280rtree_leaf_elm_slab_write(tsdn_t *tsdn, rtree_t *rtree,
281 rtree_leaf_elm_t *elm, bool slab) {
282#ifdef RTREE_LEAF_COMPACT
283 uintptr_t old_bits = rtree_leaf_elm_bits_read(tsdn, rtree, elm,
284 true);
285 uintptr_t bits = ((uintptr_t)rtree_leaf_elm_bits_szind_get(old_bits) <<
286 LG_VADDR) | ((uintptr_t)rtree_leaf_elm_bits_extent_get(old_bits) &
287 (((uintptr_t)0x1 << LG_VADDR) - 1)) | ((uintptr_t)slab);
288 atomic_store_p(&elm->le_bits, (void *)bits, ATOMIC_RELEASE);
289#else
290 atomic_store_b(&elm->le_slab, slab, ATOMIC_RELEASE);
291#endif
292}
293
294static inline void
295rtree_leaf_elm_write(tsdn_t *tsdn, rtree_t *rtree,

Callers 2

rtree_leaf_elm_writeFunction · 0.70

Tested by

no test coverage detected