JDK-8188066 : (ref) Examine the reachability of JNI WeakGlobalRef and interaction with phantom refs
Type:Task
Component:hotspot
Sub-Component:gc
Priority:P3
Status:Resolved
Resolution:Fixed
Submitted:2017-09-27
Updated:2023-08-10
Resolved:2019-03-19
The Version table provides details related to the release that this issue/RFE will be addressed.
Unresolved : Release in which this issue/RFE will be addressed. Resolved: Release in which this issue/RFE has been resolved. Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.
Fix Request
This issue is required in Java SE 8 Maintenance Release 4. Refer to the MR 4 proposal for details [1].
It provides updates to the JNI specification to clarify the behaviour of weak reference processing, in accordance with the reference processing changes already approved for backport to MR4:
- JDK-8175797: (ref) Reference::enqueue method should clear the reference object before enqueuing
- JDK-8178832: (ref) jdk.lang.ref.disableClearBeforeEnqueue property is ignored
- JDK-8193780: (ref) Remove the undocumented jdk.lang.ref.disableClearBeforeEnqueue system property
There is no compatibility impact from this specification update.
The related CSR request is JDK-8287056.
There is no PR as the JNI specification sources are not maintained in an OpenJDK repository.
[1] https://mail.openjdk.java.net/pipermail/jdk8u-dev/2022-April/014783.html
25-05-2022
If this is satisfied by an update to the JNI spec then this and the CSR should move to hotspot->runtime as the "owner" of the JNI spec.