JDK-8215985 : ZGC: Simplify reference processing in light of JDK-8175797
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2019-01-02
  • Updated: 2022-03-30
  • Resolved: 2019-01-07
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.

To download the current JDK release, click here.
JDK 13
13 b03Fixed
Related Reports
Blocks :  
Relates :  
Relates :  
Description
JDK-8175797 changed Reference.enqueue to ensure the reference object is cleared before enqueuing it.  This eliminates some states and state transitions, allowing some simplification of reference processing.

In particular, the case of a discovered reference which is later found to have been enqueued but still has a non-null referent is no longer possible.

For the most part, the Reference.next field no longer needs any special treatment, and can be handled like any normal object field. It still requires some special handling in support of FinalReferences though; a non-null next is the mechanism used to indicate a FinalReference is no longer active, since the reference object is not cleared.

(JDK-8203028 addressed these changes for other collectors, but did not address ZGC.  This RFE is specifically about ZGC.)

Comments
URL: http://hg.openjdk.java.net/jdk/jdk/rev/03efcf7fc34b User: kbarrett Date: 2019-01-07 20:21:31 +0000
07-01-2019