Factor sizeclass meta-data for cache locality

This commit splits the sizeclass meta-data to generate better cache
locality for various lookups for checking for size and start of
sizeclasses.

Also, contains some tidying including removing sizeclasses covering
large range. This is left over from an alternative design for large
classes that is no longer in use.
This commit is contained in:
Matthew Parkinson
2021-08-25 14:49:06 +01:00
committed by Matthew Parkinson
parent 0f70494d55
commit 44416ed70e
4 changed files with 115 additions and 107 deletions

View File

@@ -189,8 +189,8 @@ namespace snmalloc
// set up meta data so sizeclass is correct, and hence alloc size, and
// external pointer.
#ifdef SNMALLOC_TRACING
std::cout << "size " << size << " sizeclass " << size_to_sizeclass(size)
<< std::endl;
std::cout << "size " << size << " pow2 size "
<< bits::next_pow2_bits(size) << std::endl;
#endif
// Note that meta data is not currently used for large allocs.