RFR: 8307181: MemoryLayout.structLayout uses undocumented strict alignment constraints
Jorn Vernee
jvernee at openjdk.org
Wed May 3 14:24:18 UTC 2023
On Wed, 3 May 2023 08:31:34 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:
> This patch adds documentation for the behavior of the `MemoryLayout::structLayout` factory.
>
> This factory throws an `IllegalArgumentException` if one of the member layouts passed to it occurs at an offset within the struct that is not aligned.
>
> As part of this patch, I've also added some api notes on how to use this factory when unaligned elements are present.
Nice api note!
src/java.base/share/classes/java/lang/foreign/MemoryLayout.java line 743:
> 741: * overflows.
> 742: * @throws IllegalArgumentException if a member layouts in {@code elements} occurs at an offset (relative to the start
> 743: * of the struct layout) which is not compatible with its alignment constraint.
Suggestion:
* @throws IllegalArgumentException if a member layout in {@code elements} occurs at an offset (relative to the start
* of the struct layout) which is not compatible with its alignment constraint.
-------------
Marked as reviewed by jvernee (Reviewer).
PR Review: https://git.openjdk.org/jdk/pull/13770#pullrequestreview-1411008792
PR Review Comment: https://git.openjdk.org/jdk/pull/13770#discussion_r1183756362
More information about the core-libs-dev
mailing list