JDK-8306541 : Refactor collection set candidate handling to prepare for JDK-8140326
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 21
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2023-04-20
  • Updated: 2023-05-17
  • Resolved: 2023-05-12
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 21
21 b23Fixed
Related Reports
Relates :  
Description
JDK-8140326 is going to put regions that failed evacuation into the collection set candidates in order to reclaim them asap to avoid unnecessary (full) gcs and prepare for pinned regions.

The current implementation is not well suited for this:

* currently collection set candidate handling is fairly ad-hoc, e.g. not having explicit sets that can e.g. be iterated over directly. This is especially bad since for JDK-8140326 we also need to differentiate candidates from marking and from evacuation failure to guide the evacuation policys.

* current collection set candidates are only materialized when there are candidates from end of marking to end of the mixed gc phase. Evacuation failure/region pinning may occur any time, so we need to keep around the candidate list(s) all the time.

* this is a good opportunity to move the _gc_efficiency member out from HeapRegion as it's only needed for the candidates


Comments
Changeset: e512a206 Author: Thomas Schatzl <tschatzl@openjdk.org> Date: 2023-05-12 15:07:48 +0000 URL: https://git.openjdk.org/jdk/commit/e512a20679ee03ae6d3c2219e4ad10c92e362e14
12-05-2023

A pull request was submitted for review. URL: https://git.openjdk.org/jdk/pull/13666 Date: 2023-04-26 09:20:46 +0000
26-04-2023