MCPcopy Create free account
hub / github.com/CppCXY/EmmyLuaCodeStyle / _mi_bitmap_unclaim

Function _mi_bitmap_unclaim

3rd/mimalloc-2.0.9/src/bitmap.c:140–148  ·  view source on GitHub ↗

Set `count` bits at `bitmap_idx` to 0 atomically Returns `true` if all `count` bits were 1 previously.

Source from the content-addressed store, hash-verified

138// Set `count` bits at `bitmap_idx` to 0 atomically
139// Returns `true` if all `count` bits were 1 previously.
140bool _mi_bitmap_unclaim(mi_bitmap_t bitmap, size_t bitmap_fields, size_t count, mi_bitmap_index_t bitmap_idx) {
141 const size_t idx = mi_bitmap_index_field(bitmap_idx);
142 const size_t bitidx = mi_bitmap_index_bit_in_field(bitmap_idx);
143 const size_t mask = mi_bitmap_mask_(count, bitidx);
144 mi_assert_internal(bitmap_fields > idx); MI_UNUSED(bitmap_fields);
145 // mi_assert_internal((bitmap[idx] & mask) == mask);
146 size_t prev = mi_atomic_and_acq_rel(&bitmap[idx], ~mask);
147 return ((prev & mask) == mask);
148}
149
150
151// Set `count` bits at `bitmap_idx` to 1 atomically

Callers 4

mi_segment_cache_pop_exFunction · 0.85
mi_segment_cache_purgeFunction · 0.85
_mi_segment_cache_pushFunction · 0.85

Calls 3

mi_bitmap_index_fieldFunction · 0.85
mi_bitmap_mask_Function · 0.85

Tested by

no test coverage detected