[foreign-memaccess+abi] RFR: 8265760: Memory segments/addresses should have an isNative predicate
Maurizio Cimadamore
mcimadamore at openjdk.java.net
Fri Apr 23 16:16:33 UTC 2021
On Fri, 23 Apr 2021 15:36:47 GMT, Paul Sandoz <psandoz at openjdk.org> wrote:
>> This patch adds an `isNative` predicate to both `MemorySegment` and `MemoryAddress`. Note that, for segments, `isMapped` implies `isNative`.
>>
>> It also moves all the methods from `MappedMemorySegments` back into `MemorySegment` (these methods will still throw if invoked on a segment that is not a mapped segment).
>>
>> Some javadoc tweaking occurred here - MemorySegment now has a new section fully dedicated to mapped segments (note that now mapped segments are presented as a special class of native segments).
>>
>> Also, in MemoryAddress, the concept of "native memory address" is introduced to talk about off-heap addresses, which simplifies some of the javadoc.
>>
>> This way, the resulting API is tighter, and using mapped segments is slightly more direct.
>
> src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemorySegment.java line 94:
>
>> 92: * <p>
>> 93: * Clients requiring sophisticated, low-level control over mapped memory segments, should consider writing
>> 94: * custom mapped memory segment factories; using JNI, e.g. on Linux, it is possible to call {@code mmap}
>
> Can we replace the reference to JNI with the linker API?
Sure - that's actually what I wanted to do in the first place - dunno how I ended up with JNI :-)
-------------
PR: https://git.openjdk.java.net/panama-foreign/pull/514
More information about the panama-dev
mailing list