[foreign-memaccess] [Rev 01] RFR: JDK-8243284: Remove Foreign class
Athijegannathan Sundararajan
sundar at openjdk.java.net
Wed Apr 22 09:37:13 UTC 2020
On Tue, 21 Apr 2020 21:19:06 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:
>> The Foreign class is currently used for 3 methods:
>>
>> * withSize, which takes an unchecked address and gives it a size
>> * asUnconfined, which takes an existing segment and turns it into an unconfined segment
>> * asMallocSegment, which takes an unchecked address and converts that into a segment which can be closed, and where
>> closed is mapped into "free"
>>
>> This patch replaces all these with this method:
>>
>> static MemorySegment ofNativeUnsafe(MemoryAddress addr, long bytesSize, Thread owner, AutoCloseable cleanup, Object
>> attachment)
>> Which is then moved directly into MemorySegment - so that we can garbage-collect the Foreign class.
>>
>> I've also made some changes on the JDK property - new name is simply "jdk.foreign" and I now made sure that it cannot
>> be bypassed with a simple static initializer.
>
> Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision:
>
> * simplified API to take Runnable instead of AutoCloseable
> * renamed all occurrences of "unsafe" with "restricted" (e.g. as in "restricted foreign")
> * cleaned up the code which performs the restricted access check
Marked as reviewed by sundar (Committer).
-------------
PR: https://git.openjdk.java.net/panama-foreign/pull/122
More information about the panama-dev
mailing list