[foreign-memaccess] RFR: Backport misc changes from foreign-abi
Jorn Vernee
jvernee at openjdk.java.net
Tue Mar 31 16:54:39 UTC 2020
On Tue, 31 Mar 2020 14:29:09 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:
>> Hi,
>>
>> This patch backports several changes that went into the foreign-abi branch, but which are in retrospect useful to have
>> on the memaccess branch, and as part of the memory access API as well.
>> These changes include:
>> - Replacing ForeignUnsafe with Foreign
>> - Adding the `ofNativeUnchecked` method to create unchecked MemorySegments, MemoryAddress::ofLong to forge
>> MemoryAddresses from longs, as well as the Nothing segment and rebase support. Mainly to support going from a `long` to
>> `MemoryAddress`, and also to `MemorySegment` (MA -> long is already covered) The memory layout attributes exposed in
>> the public API (could be interesting to investigate attaching carrier types directly to layouts).
>>
>> The MemoryAddress carrier support for VarHandles is left out for now, since the current thinking is that it will be
>> dropped and replaced with VarHandle combinators to convert between long and MA instead.
>> Thanks,
>> Jorn
>
> src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/MemoryAddress.java line 133:
>
>> 132: */
>> 133: MemoryAddress NULL = MemorySegmentImpl.NOTHING.baseAddress();
>> 134:
>
> I'd leave this out for now? This seems very C oriented.
OK - My initial thought was that NULL is pretty universal, and that having a singleton NULL might be handy. But I guess
there's no real need to use such a value.
-------------
PR: https://git.openjdk.java.net/panama-foreign/pull/77
More information about the panama-dev
mailing list