[NFC][sanitizer] Exctract DrainHalfMax

Part of D105778
This commit is contained in:
Vitaly Buka 2021-07-13 14:54:24 -07:00
parent 5df9995439
commit afa3fedcda
1 changed files with 5 additions and 1 deletions

View File

@ -54,7 +54,7 @@ struct SizeClassAllocator64LocalCache {
PerClass *c = &per_class_[class_id];
InitCache(c);
if (UNLIKELY(c->count == c->max_count))
Drain(c, allocator, class_id, c->max_count / 2);
DrainHalfMax(c, allocator, class_id);
CompactPtrT chunk = allocator->PointerToCompactPtr(
allocator->GetRegionBeginBySizeClass(class_id),
reinterpret_cast<uptr>(p));
@ -105,6 +105,10 @@ struct SizeClassAllocator64LocalCache {
c->count = num_requested_chunks;
return true;
}
NOINLINE void DrainHalfMax(PerClass *c, SizeClassAllocator *allocator,
uptr class_id) {
Drain(c, allocator, class_id, c->max_count / 2);
}
NOINLINE void Drain(PerClass *c, SizeClassAllocator *allocator, uptr class_id,
uptr count) {