diff --git a/src/mem/address_space.h b/src/mem/address_space.h index 00dc21b..31b436d 100644 --- a/src/mem/address_space.h +++ b/src/mem/address_space.h @@ -14,7 +14,7 @@ namespace snmalloc * usual complexity of a buddy allocator. */ template - class AddressSpaceManager : public PAL + class AddressSpaceManager { /** * Stores the blocks of address space @@ -181,8 +181,7 @@ namespace snmalloc if constexpr (pal_supports) { if (size >= PAL::minimum_alloc_size) - return static_cast(this)->template reserve_aligned( - size); + return PAL::template reserve_aligned(size); } void* res; @@ -197,8 +196,7 @@ namespace snmalloc if constexpr (pal_supports) { block_size = PAL::minimum_alloc_size; - block = static_cast(this)->template reserve_aligned( - block_size); + block = PAL::template reserve_aligned(block_size); } else { @@ -206,8 +204,7 @@ namespace snmalloc // Hold lock here as a race could cause additional requests to // the PAL, and this could lead to suprious OOM. This is // particularly bad if the PAL gives all the memory on first call. - auto block_and_size = - static_cast(this)->reserve_at_least(size * 2); + auto block_and_size = PAL::reserve_at_least(size * 2); block = block_and_size.first; block_size = block_and_size.second;