]> Repositorios git - scryer-prolog.git/commitdiff
adjust alignment calculation
authorBennet Bleßmann <[email protected]>
Fri, 5 Jul 2024 22:13:46 +0000 (00:13 +0200)
committerBennet Bleßmann <[email protected]>
Fri, 5 Jul 2024 22:13:46 +0000 (00:13 +0200)
- I think this used to overallocate when the alignment was already met

src/atom_table.rs

index 6de8f5f9ac9f79978f41fb01018f22d1db549249..fbb7793afb17ea0a2479f3fc3d6b2dd79dd0de54 100644 (file)
@@ -371,8 +371,7 @@ impl AtomTable {
             }
 
             let size = mem::size_of::<AtomHeader>() + string.len();
-            let align_offset = 8 * mem::align_of::<AtomHeader>();
-            let size = (size & !(align_offset - 1)) + align_offset;
+            let size = size.next_multiple_of(AtomTable::align());
 
             unsafe {
                 let len_ptr = loop {