diff --git a/src/ds/address.h b/src/ds/address.h index 49c9b98..ab896ee 100644 --- a/src/ds/address.h +++ b/src/ds/address.h @@ -65,11 +65,16 @@ namespace snmalloc { static_assert(alignment > 0); static_assert(bits::next_pow2_const(alignment) == alignment); + if constexpr (alignment == 1) + return static_cast(p); + else + { #if __has_builtin(__builtin_align_down) - return static_cast(__builtin_align_down(p, alignment)); + return static_cast(__builtin_align_down(p, alignment)); #else - return pointer_cast(bits::align_down(address_cast(p), alignment)); + return pointer_cast(bits::align_down(address_cast(p), alignment)); #endif + } } /** @@ -81,11 +86,16 @@ namespace snmalloc { static_assert(alignment > 0); static_assert(bits::next_pow2_const(alignment) == alignment); + if constexpr (alignment == 1) + return static_cast(p); + else + { #if __has_builtin(__builtin_align_up) - return static_cast(__builtin_align_up(p, alignment)); + return static_cast(__builtin_align_up(p, alignment)); #else - return pointer_cast(bits::align_up(address_cast(p), alignment)); + return pointer_cast(bits::align_up(address_cast(p), alignment)); #endif + } } /** diff --git a/src/mem/allocconfig.h b/src/mem/allocconfig.h index f9cf0e9..2e9bb6d 100644 --- a/src/mem/allocconfig.h +++ b/src/mem/allocconfig.h @@ -35,7 +35,7 @@ namespace snmalloc #ifdef USE_REMOTE_BATCH REMOTE_BATCH #else - 64 + 4096 #endif ;