mirror of
https://github.com/microsoft/mimalloc.git
synced 2025-05-04 22:49:32 +03:00
Merge pull request #391 from jserv/improve-align-down
Rewrite align_down with bitwise operations
This commit is contained in:
commit
6d1658123c
1 changed files with 5 additions and 1 deletions
6
src/os.c
6
src/os.c
|
@ -65,7 +65,11 @@ static void* mi_align_up_ptr(void* p, size_t alignment) {
|
|||
return (void*)_mi_align_up((uintptr_t)p, alignment);
|
||||
}
|
||||
|
||||
static uintptr_t _mi_align_down(uintptr_t sz, size_t alignment) {
|
||||
static inline uintptr_t _mi_align_down(uintptr_t sz, size_t alignment) {
|
||||
mi_assert_internal(alignment != 0);
|
||||
uintptr_t mask = alignment - 1;
|
||||
if ((alignment & mask) == 0) // power of two?
|
||||
return sz & ~mask;
|
||||
return (sz / alignment) * alignment;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue