JDK-7127707 : G1: Checkpoint heap regions at start of concurrent marking to ignore heap expansions
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: hs23
  • Priority: P4
  • Status: Closed
  • Resolution: Not an Issue
  • Submitted: 2012-01-06
  • Updated: 2022-07-06
  • Resolved: 2022-07-06
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.
Other
tbdResolved
Related Reports
Relates :  
Relates :  
Description
Before the changes for 6888336 (G1: avoid explicitly marking and pushing objects in survivor spaces) concurrent marking needed to be notified when the heap was expanded during a marking cycle in order to visit any of the newly-committed regions.

After the changes for 6888336 this should not be needed any more. Any new regions that are created during marking (either to-space regions or humongous regions) will have their NTAMS pointing to bottom so all objects in them will be implicitly live and not needed to be visited by the concurrent marking threads.

So, it should be sufficient to checkpoint the heap bounds at the end of the initial-mark pause and not needing to update them as future expansions take place.

Comments
This has been implemented for a long time - only regions live at the start of marking get their TAMS updated, newly allocation regions have TAMS == bottom always, so they will not be scanned.
06-07-2022