Remove local state from Pagemap representation.
This commit is contained in:
committed by
Matthew Parkinson
parent
be98a27bf1
commit
eb00f3184f
@@ -268,8 +268,8 @@ namespace snmalloc
|
||||
std::cout << "Remote dealloc post" << p.unsafe_ptr() << " size "
|
||||
<< alloc_size(p.unsafe_ptr()) << std::endl;
|
||||
#endif
|
||||
MetaEntry entry = SharedStateHandle::Pagemap::get_metaentry(
|
||||
core_alloc->backend_state_ptr(), address_cast(p));
|
||||
MetaEntry entry =
|
||||
SharedStateHandle::Pagemap::get_metaentry(address_cast(p));
|
||||
local_cache.remote_dealloc_cache.template dealloc<sizeof(CoreAlloc)>(
|
||||
entry.get_remote()->trunc_id(), p, key_global);
|
||||
post_remote_cache();
|
||||
@@ -626,8 +626,8 @@ namespace snmalloc
|
||||
capptr::Alloc<void> p_tame = capptr_domesticate<SharedStateHandle>(
|
||||
core_alloc->backend_state_ptr(), p_wild);
|
||||
|
||||
const MetaEntry& entry = SharedStateHandle::Pagemap::get_metaentry(
|
||||
core_alloc->backend_state_ptr(), address_cast(p_tame));
|
||||
const MetaEntry& entry =
|
||||
SharedStateHandle::Pagemap::get_metaentry(address_cast(p_tame));
|
||||
if (SNMALLOC_LIKELY(local_cache.remote_allocator == entry.get_remote()))
|
||||
{
|
||||
# if defined(__CHERI_PURE_CAPABILITY__) && defined(SNMALLOC_CHECK_CLIENT)
|
||||
@@ -716,8 +716,8 @@ namespace snmalloc
|
||||
// To handle this case we require the uninitialised pagemap contain an
|
||||
// entry for the first chunk of memory, that states it represents a
|
||||
// large object, so we can pull the check for null off the fast path.
|
||||
MetaEntry entry = SharedStateHandle::Pagemap::get_metaentry(
|
||||
core_alloc->backend_state_ptr(), address_cast(p_raw));
|
||||
MetaEntry entry =
|
||||
SharedStateHandle::Pagemap::get_metaentry(address_cast(p_raw));
|
||||
|
||||
return sizeclass_full_to_size(entry.get_sizeclass());
|
||||
#endif
|
||||
@@ -763,7 +763,7 @@ namespace snmalloc
|
||||
#ifndef SNMALLOC_PASS_THROUGH
|
||||
MetaEntry entry =
|
||||
SharedStateHandle::Pagemap::template get_metaentry<true>(
|
||||
core_alloc->backend_state_ptr(), address_cast(p));
|
||||
address_cast(p));
|
||||
|
||||
auto sizeclass = entry.get_sizeclass();
|
||||
return snmalloc::remaining_bytes(sizeclass, address_cast(p));
|
||||
@@ -774,8 +774,7 @@ namespace snmalloc
|
||||
|
||||
bool check_bounds(const void* p, size_t s)
|
||||
{
|
||||
auto ls = core_alloc->backend_state_ptr();
|
||||
if (SNMALLOC_LIKELY(SharedStateHandle::Pagemap::is_initialised(ls)))
|
||||
if (SNMALLOC_LIKELY(SharedStateHandle::Pagemap::is_initialised()))
|
||||
{
|
||||
return remaining_bytes(p) >= s;
|
||||
}
|
||||
@@ -793,7 +792,7 @@ namespace snmalloc
|
||||
#ifndef SNMALLOC_PASS_THROUGH
|
||||
MetaEntry entry =
|
||||
SharedStateHandle::Pagemap::template get_metaentry<true>(
|
||||
core_alloc->backend_state_ptr(), address_cast(p));
|
||||
address_cast(p));
|
||||
|
||||
auto sizeclass = entry.get_sizeclass();
|
||||
return snmalloc::index_in_object(sizeclass, address_cast(p));
|
||||
|
||||
Reference in New Issue
Block a user