mirror of
https://github.com/jemalloc/jemalloc.git
synced 2026-07-24 22:03:07 +00:00
Set dependent as false for all rtree reads without ownership
This commit is contained in:
@@ -186,13 +186,13 @@ emap_edata_is_acquired(tsdn_t *tsdn, emap_t *emap, edata_t *edata) {
|
|||||||
*/
|
*/
|
||||||
EMAP_DECLARE_RTREE_CTX;
|
EMAP_DECLARE_RTREE_CTX;
|
||||||
rtree_leaf_elm_t *elm = rtree_leaf_elm_lookup(tsdn, &emap->rtree,
|
rtree_leaf_elm_t *elm = rtree_leaf_elm_lookup(tsdn, &emap->rtree,
|
||||||
rtree_ctx, (uintptr_t)edata_base_get(edata), /* dependent */ true,
|
rtree_ctx, (uintptr_t)edata_base_get(edata), /* dependent */ false,
|
||||||
/* init_missing */ false);
|
/* init_missing */ false);
|
||||||
if (elm == NULL) {
|
if (elm == NULL) {
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
rtree_contents_t contents = rtree_leaf_elm_read(tsdn, &emap->rtree, elm,
|
rtree_contents_t contents = rtree_leaf_elm_read(tsdn, &emap->rtree, elm,
|
||||||
/* dependent */ true);
|
/* dependent */ false);
|
||||||
if (contents.edata == NULL ||
|
if (contents.edata == NULL ||
|
||||||
contents.metadata.state == extent_state_active ||
|
contents.metadata.state == extent_state_active ||
|
||||||
edata_state_in_transition(contents.metadata.state)) {
|
edata_state_in_transition(contents.metadata.state)) {
|
||||||
|
|||||||
@@ -74,7 +74,7 @@ emap_try_acquire_edata_neighbor_impl(tsdn_t *tsdn, emap_t *emap, edata_t *edata,
|
|||||||
}
|
}
|
||||||
|
|
||||||
rtree_contents_t neighbor_contents = rtree_leaf_elm_read(tsdn,
|
rtree_contents_t neighbor_contents = rtree_leaf_elm_read(tsdn,
|
||||||
&emap->rtree, elm, /* dependent */ true);
|
&emap->rtree, elm, /* dependent */ false);
|
||||||
if (!extent_can_acquire_neighbor(edata, neighbor_contents, pai,
|
if (!extent_can_acquire_neighbor(edata, neighbor_contents, pai,
|
||||||
expected_state, forward, expanding)) {
|
expected_state, forward, expanding)) {
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|||||||
Reference in New Issue
Block a user