simplify get_free_slot loops
parent
a02f4ebb19
commit
ceffb1a0ec
12
malloc.c
12
malloc.c
|
@ -271,13 +271,11 @@ static size_t get_free_slot(struct random_state *rng, size_t slots, struct slab_
|
||||||
masked |= random_split;
|
masked |= random_split;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (masked == ~0UL) {
|
if (masked != ~0UL) {
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ffzl(masked) - 1 + i * 64;
|
return ffzl(masked) - 1 + i * 64;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
for (unsigned i = 0; i <= (slots - 1) / 64; i++) {
|
for (unsigned i = 0; i <= (slots - 1) / 64; i++) {
|
||||||
u64 masked = metadata->bitmap[i];
|
u64 masked = metadata->bitmap[i];
|
||||||
|
@ -285,12 +283,10 @@ static size_t get_free_slot(struct random_state *rng, size_t slots, struct slab_
|
||||||
masked |= get_mask(slots - i * 64);
|
masked |= get_mask(slots - i * 64);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (masked == ~0UL) {
|
if (masked != ~0UL) {
|
||||||
continue;
|
|
||||||
}
|
|
||||||
|
|
||||||
return ffzl(masked) - 1 + i * 64;
|
return ffzl(masked) - 1 + i * 64;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
fatal_error("no zero bits");
|
fatal_error("no zero bits");
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue