RFR: 8304265: Implementation of Foreign Function and Memory API (Third Preview) [v5]
Maurizio Cimadamore
mcimadamore at openjdk.org
Wed Mar 22 11:57:46 UTC 2023
On Tue, 21 Mar 2023 09:02:29 GMT, Per Minborg <pminborg at openjdk.org> wrote:
>> API changes for the FFM API (third preview)
>>
>> Specdiff:
>> https://cr.openjdk.org/~pminborg/panama/21/v1/specdiff/overview-summary.html
>>
>> Javadoc:
>> https://cr.openjdk.org/~pminborg/panama/21/v1/javadoc/java.base/module-summary.html
>
> Per Minborg has updated the pull request incrementally with one additional commit since the last revision:
>
> Add example for Option::captureStateLayout
src/java.base/share/classes/java/lang/foreign/MemoryLayout.java line 694:
> 692: * @param bitSize the padding size in bits.
> 693: * @return the new selector layout.
> 694: * @throws IllegalArgumentException if {@code bitSize < 0} or {@code bitSize % 8 != 0}
I'm not sure if this change in the `@throws` was deliberate - e.g. the new API seems to allow creation of padding layouts of zero size (which I did not realize). This can hide issues for code generators (e.g. I stumbled upon this when working on jextract, which was silently emitting zero-length paddings in some struct layouts). Perhaps better to revert to old semantics?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13079#discussion_r1144680066
More information about the build-dev
mailing list