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

Function mi_slice_bin8

3rd/mimalloc-2.0.9/src/segment.c:177–185  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

175// Use bit scan forward to quickly find the first zero bit if it is available
176
177static inline size_t mi_slice_bin8(size_t slice_count) {
178 if (slice_count<=1) return slice_count;
179 mi_assert_internal(slice_count <= MI_SLICES_PER_SEGMENT);
180 slice_count--;
181 size_t s = mi_bsr(slice_count); // slice_count > 1
182 if (s <= 2) return slice_count + 1;
183 size_t bin = ((s << 2) | ((slice_count >> (s - 2))&0x03)) - 4;
184 return bin;
185}
186
187static inline size_t mi_slice_bin(size_t slice_count) {
188 mi_assert_internal(slice_count*MI_SEGMENT_SLICE_SIZE <= MI_SEGMENT_SIZE);

Callers 1

mi_slice_binFunction · 0.85

Calls 1

mi_bsrFunction · 0.85

Tested by

no test coverage detected