mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-05-05 06:59:32 +03:00
fix bug in bitmap is_claimed_across; issue #368
This commit is contained in:
parent
331491e1e8
commit
7962420697
1 changed files with 4 additions and 4 deletions
|
@ -372,13 +372,13 @@ static bool mi_bitmap_is_claimedx_across(mi_bitmap_t bitmap, size_t bitmap_field
|
||||||
if ((prev & pre_mask) != 0) any_ones = true;
|
if ((prev & pre_mask) != 0) any_ones = true;
|
||||||
while (mid_count-- > 0) {
|
while (mid_count-- > 0) {
|
||||||
prev = mi_atomic_load_relaxed(field++);
|
prev = mi_atomic_load_relaxed(field++);
|
||||||
if ((prev & pre_mask) != pre_mask) all_ones = false;
|
if ((prev & mid_mask) != mid_mask) all_ones = false;
|
||||||
if ((prev & pre_mask) != 0) any_ones = true;
|
if ((prev & mid_mask) != 0) any_ones = true;
|
||||||
}
|
}
|
||||||
if (post_mask!=0) {
|
if (post_mask!=0) {
|
||||||
prev = mi_atomic_load_relaxed(field);
|
prev = mi_atomic_load_relaxed(field);
|
||||||
if ((prev & pre_mask) != pre_mask) all_ones = false;
|
if ((prev & post_mask) != post_mask) all_ones = false;
|
||||||
if ((prev & pre_mask) != 0) any_ones = true;
|
if ((prev & post_mask) != 0) any_ones = true;
|
||||||
}
|
}
|
||||||
if (pany_ones != NULL) *pany_ones = any_ones;
|
if (pany_ones != NULL) *pany_ones = any_ones;
|
||||||
return all_ones;
|
return all_ones;
|
||||||
|
|
Loading…
Add table
Reference in a new issue