| 383 | } |
| 384 | |
| 385 | static inline bool |
| 386 | rtree_write(tsdn_t *tsdn, rtree_t *rtree, rtree_ctx_t *rtree_ctx, uintptr_t key, |
| 387 | extent_t *extent, szind_t szind, bool slab) { |
| 388 | /* Use rtree_clear() to set the extent to NULL. */ |
| 389 | assert(extent != NULL); |
| 390 | |
| 391 | rtree_leaf_elm_t *elm = rtree_leaf_elm_lookup(tsdn, rtree, rtree_ctx, |
| 392 | key, false, true); |
| 393 | if (elm == NULL) { |
| 394 | return true; |
| 395 | } |
| 396 | |
| 397 | assert(rtree_leaf_elm_extent_read(tsdn, rtree, elm, false) == NULL); |
| 398 | rtree_leaf_elm_write(tsdn, rtree, elm, extent, szind, slab); |
| 399 | |
| 400 | return false; |
| 401 | } |
| 402 | |
| 403 | JEMALLOC_ALWAYS_INLINE rtree_leaf_elm_t * |
| 404 | rtree_read(tsdn_t *tsdn, rtree_t *rtree, rtree_ctx_t *rtree_ctx, uintptr_t key, |