Remove all instances of static_cast<size_t>(1).
In preparation for removing magic numbers, simplify code that is computing masks with a single bit set.
This commit is contained in:
@@ -102,10 +102,13 @@ namespace snmalloc
|
||||
{
|
||||
size_t size = sizeclass_to_size(sizeclass);
|
||||
size_t offset = get_slab_offset(sizeclass, is_short);
|
||||
size_t all_ones = std::numeric_limits<size_t>::is_signed ?
|
||||
size_t(-1) :
|
||||
std::numeric_limits<size_t>::max();
|
||||
|
||||
size_t head_start =
|
||||
remove_cache_friendly_offset(head & ~static_cast<size_t>(1), sizeclass);
|
||||
size_t slab_start = offset & ~static_cast<size_t>(1);
|
||||
remove_cache_friendly_offset(head & all_ones, sizeclass);
|
||||
size_t slab_start = offset & all_ones;
|
||||
|
||||
return ((head_start - slab_start) % size) == 0;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user