RFR: 8304265: Implementation of Foreign Function and Memory API (Third Preview) [v5]
Andrey Turbanov
aturbanov at openjdk.org
Wed Mar 22 09:18:50 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/Arena.java line 224:
> 222: static Arena global() {
> 223: class Holder {
> 224: final static Arena GLOBAL = MemorySessionImpl.GLOBAL.asArena();
Nit: use blessed modifiers order
Suggestion:
static final Arena GLOBAL = MemorySessionImpl.GLOBAL.asArena();
src/java.base/share/classes/jdk/internal/foreign/abi/aarch64/windows/WindowsAArch64Linker.java line 58:
> 56: @Override
> 57: protected UpcallStubFactory arrangeUpcall(MethodType targetType, FunctionDescriptor function, LinkerOptions options) {
> 58: return CallArranger.WINDOWS.arrangeUpcall(targetType, function, options);
Suggestion:
return CallArranger.WINDOWS.arrangeUpcall(targetType, function, options);
src/java.base/share/classes/jdk/internal/foreign/abi/fallback/LibFallback.java line 159:
> 157: */
> 158: static void getStructOffsets(MemorySegment structType, MemorySegment offsetsOut, FFIABI abi)
> 159: throws IllegalStateException {
Suggestion:
throws IllegalStateException {
test/jdk/java/foreign/trivial/TestTrivial.java line 74:
> 72: VarHandle vhX = bigLayout.varHandle(MemoryLayout.PathElement.groupElement("x"));
> 73: VarHandle vhY = bigLayout.varHandle(MemoryLayout.PathElement.groupElement("y"));
> 74: try (Arena arena = Arena.ofConfined()) {
nit:
Suggestion:
try (Arena arena = Arena.ofConfined()) {
test/jdk/java/foreign/trivial/TestTrivial.java line 89:
> 87: StructLayout capturedStateLayout = Linker.Option.captureStateLayout();
> 88: VarHandle errnoHandle = capturedStateLayout.varHandle(MemoryLayout.PathElement.groupElement("errno"));
> 89: try (Arena arena = Arena.ofConfined()) {
nit
Suggestion:
try (Arena arena = Arena.ofConfined()) {
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/13079#discussion_r1144450371
PR Review Comment: https://git.openjdk.org/jdk/pull/13079#discussion_r1144453152
PR Review Comment: https://git.openjdk.org/jdk/pull/13079#discussion_r1144452221
PR Review Comment: https://git.openjdk.org/jdk/pull/13079#discussion_r1144451413
PR Review Comment: https://git.openjdk.org/jdk/pull/13079#discussion_r1144451634
More information about the build-dev
mailing list