RFR: JDK-8199620: Support for JNI object pinning
Roman Kennke
rkennke at redhat.com
Mon Mar 19 14:23:10 UTC 2018
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 pin_object(oop) and void unpin_object(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/
>
>
Ping? Any takers for this?
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/20180319/e2cb811b/signature.asc>
More information about the hotspot-gc-dev
mailing list