JDK-8197850 : Calculate liveness in regions during marking
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 11
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2018-02-13
  • Updated: 2020-04-15
  • Resolved: 2018-03-26
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 11
11 b10Fixed
Related Reports
Blocks :  
Relates :  
Relates :  
Description
Rebuilding the remembered sets in JDK-8180415 requires G1 to have an idea which regions' remembered sets should be recalculated.

One metric G1 uses since forever is the liveness within a region; if it is above a given threshold, we do not evacuate that region in the next mixed gc phase.

To simulate this, we want to have region liveness information before rebuilding the remembered sets, i.e. at the end of remark.

Similar argument can be made for the number of incoming references which is a good indicator for the size of the remembered set for that region.

This metric can also be used in the future for e.g. freeing the completely empty regions at remark to allow immediate reuse (JDK-8154528).