JDK-8253600 : G1: Fully support pinned regions for full gc
  • Type: Sub-task
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 16
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2020-09-24
  • Updated: 2021-11-30
  • Resolved: 2020-11-10
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 16
16 b24Fixed
Related Reports
Blocks :  
Blocks :  
Blocks :  
Relates :  
Relates :  
Relates :  
Description
After full gc all PTAMS of all regions are set to the bottom of the region.
There is some special handling for humongous regions where instead of setting ptams correctly, g1 simply clears the mark of the humongous object (and keeps ptams at the bottom)

Use of G1VerifyBitmaps also clears all prev bitmaps.

This is wrong for "real" pinned regions with multiple live and dead objects inside - their ptams and bitmap below ptams must be preserved.

Since currently g1 does not support such kind of pinned regions and there is no problem, this has been filed as an enhancement.

However one potential solution for JDK-8253081 involves making the old archive regions regular (pinned, due to COW) regions.
Comments
Changeset: 6555996f Author: Thomas Schatzl <tschatzl@openjdk.org> Date: 2020-11-10 16:36:06 +0000 URL: https://github.com/openjdk/jdk/commit/6555996f
10-11-2020