diff --git a/src/snmalloc/backend/backend.h b/src/snmalloc/backend/backend.h index 1463fa9..5db5841 100644 --- a/src/snmalloc/backend/backend.h +++ b/src/snmalloc/backend/backend.h @@ -97,14 +97,13 @@ namespace snmalloc #ifdef SNMALLOC_TRACING message<1024>("Out of memory"); #endif - return {p, nullptr}; + return {nullptr, nullptr}; } typename Pagemap::Entry t(meta, ras); Pagemap::set_metaentry(address_cast(p), size, t); - p = Aal::capptr_bound(p, size); - return {p, meta}; + return {Aal::capptr_bound(p, size), meta}; } /** diff --git a/src/snmalloc/backend_helpers/range_helpers.h b/src/snmalloc/backend_helpers/range_helpers.h index 90ee847..454cba0 100644 --- a/src/snmalloc/backend_helpers/range_helpers.h +++ b/src/snmalloc/backend_helpers/range_helpers.h @@ -4,8 +4,11 @@ namespace snmalloc { - template - void range_to_pow_2_blocks(capptr::Chunk base, size_t length, F f) + template< + size_t MIN_BITS, + SNMALLOC_CONCEPT(capptr::ConceptBound) B, + typename F> + void range_to_pow_2_blocks(CapPtr base, size_t length, F f) { auto end = pointer_offset(base, length); base = pointer_align_up(base, bits::one_at_bit(MIN_BITS));