RFR: JDK-8199620: Support for JNI object pinning (original) (raw)
Roman Kennke rkennke at redhat.com
Wed Mar 14 18:51:17 UTC 2018
- Previous message (by thread): RFR: JDK-8199620: Support for JNI object pinning
- Next message (by thread): RFR: JDK-8199620: Support for JNI object pinning
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Am 14.03.2018 um 19:13 schrieb Roman Kennke:
Currently, the Get/Release*Critical() family of functions use the GCLocker protocol to ensure that no JNI critical arrays are in use when a GC pause is entered.
Some GCs may instead want to use object pinning and guarantee that the object does not move. For example, this is easy to do with region-based GCs (G1, Shenandoah, ZGC) by simply not including regions with pinned objects in the collection set. The implementation/API that I'm proposing is fairly simple: add two methods oop pinobject(oop) and void unpinobject(oop) to CollectedHeap, and call them from JNI's Get/Release*Critical methods. This approach has been working perfectly fine since a long time in Shenandoah. Bug: https://bugs.openjdk.java.net/browse/JDK-8199620 Webrev: http://cr.openjdk.java.net/~rkennke/8199620/webrev.00/
And here is the correct patch:
http://cr.openjdk.java.net/~rkennke/8199620/webrev.01/
Roman
-------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: OpenPGP digital signature URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20180314/1ab8197c/signature.asc>
- Previous message (by thread): RFR: JDK-8199620: Support for JNI object pinning
- Next message (by thread): RFR: JDK-8199620: Support for JNI object pinning
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]