Simplify rtree_clear() to avoid locking.

This commit is contained in:
Jason Evans 2017-03-27 04:10:11 -07:00
parent 4020523f67
commit c6d1819e48

View File

@ -506,10 +506,10 @@ rtree_szind_slab_update(tsdn_t *tsdn, rtree_t *rtree, rtree_ctx_t *rtree_ctx,
JEMALLOC_INLINE void JEMALLOC_INLINE void
rtree_clear(tsdn_t *tsdn, rtree_t *rtree, rtree_ctx_t *rtree_ctx, rtree_clear(tsdn_t *tsdn, rtree_t *rtree, rtree_ctx_t *rtree_ctx,
uintptr_t key) { uintptr_t key) {
rtree_leaf_elm_t *elm = rtree_leaf_elm_acquire(tsdn, rtree, rtree_ctx, rtree_leaf_elm_t *elm = rtree_read(tsdn, rtree, rtree_ctx, key, true);
key, true, false); assert(rtree_leaf_elm_extent_read(tsdn, rtree, elm, false, false) !=
rtree_leaf_elm_write(tsdn, rtree, elm, true, NULL, NSIZES, false); NULL);
rtree_leaf_elm_release(tsdn, rtree, elm); rtree_leaf_elm_write(tsdn, rtree, elm, false, NULL, NSIZES, false);
} }
#endif #endif