The code in alloc_slice_fill_zero assumes that at least one out of u64 and String will have an alignment of 8. However that is not the case on all platforms in particular it is not the case on i386. On i386 the maximum alignment for regular types (I think some SSE stuff is an exception) is 4.
This PR replaces the fixed value 7 with a figure calculated from the actual alignment requirements of String and u64.
The code in alloc_slice_fill_zero assumes that at least one out of u64 and String will have an alignment of 8. However that is not the case on all platforms in particular it is not the case on i386. On i386 the maximum alignment for regular types (I think some SSE stuff is an exception) is 4.
This PR replaces the fixed value 7 with a figure calculated from the actual alignment requirements of String and u64.