NFC: move some capptr utility functions to that namespace

We'll want user_address_control_type in some particular PALs, so it can't live
in pal.h.

While here, make the spelling be capptr::is_spatial_refinement.
This commit is contained in:
Nathaniel Wesley Filardo
2021-10-17 18:37:38 +01:00
committed by Nathaniel Wesley Filardo
parent 1de28eead7
commit dba795ac6f
3 changed files with 45 additions and 45 deletions

View File

@@ -69,16 +69,6 @@ namespace snmalloc
// Used to keep Superslab metadata committed.
static constexpr size_t OS_PAGE_SIZE = Pal::page_size;
/**
* Compute the AddressSpaceControl::User variant of a capptr::bound
* annotation. This is used by the PAL's capptr_export function to compute
* its return value's annotation.
*/
template<SNMALLOC_CONCEPT(capptr::ConceptBound) B>
using capptr_user_address_control_type =
typename B::template with_address_space_control<
capptr::dimension::AddressSpaceControl::User>;
/**
* Perform platform-specific adjustment of return pointers.
*
@@ -92,10 +82,10 @@ namespace snmalloc
SNMALLOC_CONCEPT(capptr::ConceptBound) B>
static inline typename std::enable_if_t<
!aal_supports<StrictProvenance, AAL>,
CapPtr<T, capptr_user_address_control_type<B>>>
CapPtr<T, capptr::user_address_control_type<B>>>
capptr_to_user_address_control(CapPtr<T, B> p)
{
return CapPtr<T, capptr_user_address_control_type<B>>(p.unsafe_capptr);
return CapPtr<T, capptr::user_address_control_type<B>>(p.unsafe_capptr);
}
template<
@@ -105,7 +95,7 @@ namespace snmalloc
SNMALLOC_CONCEPT(capptr::ConceptBound) B>
static SNMALLOC_FAST_PATH typename std::enable_if_t<
aal_supports<StrictProvenance, AAL>,
CapPtr<T, capptr_user_address_control_type<B>>>
CapPtr<T, capptr::user_address_control_type<B>>>
capptr_to_user_address_control(CapPtr<T, B> p)
{
return PAL::capptr_to_user_address_control(p);