Why align all pinned array payloads on 16 bytes?

Carter Schonwald carter.schonwald at gmail.com
Tue Oct 16 01:22:02 UTC 2018

while I dont know the original context, some care may be needed ...
depending on how this alignment assumption is accidentally used by users...
it may result in really gross breakages

On Thu, Oct 11, 2018 at 1:44 PM Ömer Sinan Ağacan <omeragacan at gmail.com>

> Hi,
> I just found out we currently align all pinned array payloads to 16 bytes
> and
> I'm wondering why. I don't see any comments/notes on this, and it's also
> not
> part of the primop documentation. We also have another primop for aligned
> allocation: newAlignedPinnedByteArray#. Given that alignment behavior of
> newPinnedByteArray# is not documented and we have another one for aligned
> allocation, perhaps we can remove alignment in newPinnedByteArray#.
> Does anyone remember what was the motivation for always aligning pinned
> arrays?
> Thanks
> Ömer
> _______________________________________________
> ghc-devs mailing list
> ghc-devs at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/ghc-devs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-devs/attachments/20181015/5fb64f6b/attachment.html>

More information about the ghc-devs mailing list