RFR: 8264774: Implementation of Foreign Function and Memory API (Incubator) [v2]
Daniel Fuchs
dfuchs at openjdk.java.net
Wed Apr 28 19:09:54 UTC 2021
On Wed, 28 Apr 2021 10:42:54 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:
>> This PR contains the API and implementation changes for JEP-412 [1]. A more detailed description of such changes, to avoid repetitions during the review process, is included as a separate comment.
>>
>> [1] - https://openjdk.java.net/jeps/412
>
> Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision:
>
> Address first batch of review comments
src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/LibraryLookup.java line 52:
> 50: * <p>
> 51: * For {@link #lookup(String) memory addresses} obtained from a library lookup object,
> 52: * since {@link CLinker#downcallHandle(Addressable, MethodType, FunctionDescriptor) native method handles}
These should be `{@linkplain }` since the text of the link is plain text (and not code)
src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/LibraryLookup.java line 88:
> 86: * @return the memory segment associated with the library symbol (if any).
> 87: * @throws IllegalArgumentException if the address associated with the lookup symbol do not match the
> 88: * {@link MemoryLayout#byteAlignment() alignment constraints} in {@code layout}.
Same remark here (`{@linkplain }`)
src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java line 43:
> 41: * when performing memory dereference operations using a memory access var handle (see {@link MemoryHandles}).
> 42: * <p>
> 43: * A memory address is associated with a {@link ResourceScope resource scope}; the resource scope determines the
`{@linkplain }`
src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java line 46:
> 44: * lifecycle of the memory address, and whether the address can be used from multiple threads. Memory addresses
> 45: * obtained from {@link #ofLong(long) numeric values}, or from native code, are associated with the
> 46: * {@link ResourceScope#globalScope() global resource scope}. Memory addresses obtained from segments
... and here to (`{@linkplain }`)
src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java line 102:
> 100: * @param segment the segment relative to which this address offset should be computed
> 101: * @throws IllegalArgumentException if {@code segment} is not compatible with this address; this can happen, for instance,
> 102: * when {@code segment} models an heap memory region, while this address is a {@link #isNative() native} address.
`{@linkplain }`
src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java line 209:
> 207: /**
> 208: * The native memory address instance modelling the {@code NULL} address, associated
> 209: * with the {@link ResourceScope#globalScope() global} resource scope.
`{@linkplain }` ?
-------------
PR: https://git.openjdk.java.net/jdk/pull/3699
More information about the nio-dev
mailing list