JDK-8288199 : Improve HeapRegion::note_self_forwarding_removal_start
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 20
  • Priority: P4
  • Status: Closed
  • Resolution: Duplicate
  • Submitted: 2022-06-10
  • Updated: 2022-07-05
  • Resolved: 2022-07-05
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
Blocks :  
Duplicate :  
Description
HeapRegion::note_self_forwarding_removal_start, I would expect tams == bottom already with the single bitmap changes JDK-8210708

I.e.:

  if (during_concurrent_start) {
    ...
  } else if (during_conc_mark) {
    // During concurrent mark, all objects in the CSet (including
    // the ones we find to be self-forwarded) are implicitly live.
    // So all objects need to be above TAMS.
    _top_at_mark_start = bottom();
  }

should be

  if (during_concurrent_start) {
    ...
  } else {
    assert(_top_at_mark_start == bottom(), "inv);
  }

The reason is that during evacuation failure
  * the young regions must always have TAMS==bottom
Comments
Rolling into JDK-8210708
05-07-2022

maybe roll this into JDK-8210708 because it is specific to that change.
13-06-2022