[foreign-memaccess] RFR: JDK-8243284: Remove Foreign class
Maurizio Cimadamore
mcimadamore at openjdk.java.net
Tue Apr 21 16:36:42 UTC 2020
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.
-------------
Commit messages:
- Remove Foreign, and add new method on MemorySegment to create unsafe native segments.
Changes: https://git.openjdk.java.net/panama-foreign/pull/122/files
Webrev: https://webrevs.openjdk.java.net/panama-foreign/122/webrev.00
Issue: https://bugs.openjdk.java.net/browse/JDK-JDK-8243284
Stats: 393 lines in 10 files changed: 132 ins; 241 del; 20 mod
Patch: https://git.openjdk.java.net/panama-foreign/pull/122.diff
Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/122/head:pull/122
PR: https://git.openjdk.java.net/panama-foreign/pull/122
More information about the panama-dev
mailing list