JDK-8065218 : Move CMS-specific fields from Space to CompactibleFreeListSpace
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 9
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2014-11-18
  • Updated: 2015-06-03
  • Resolved: 2014-11-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 9
9 b43Fixed
Related Reports
Relates :  
Description
The member
  MemRegionClosure* _preconsumptionDirtyCardClosure;
is used by CMS to get the young gen collector to update the mod union table
The field is currently in the abstract base class Space which unfortunately causes the field to be present in all subclasses, including G1's HeapRegions.
In order to allow for future addition of fields to HeapRegions without increasing the footprint we should move the CMS-specific field to CompactibleFreeListSpace.

In order to avoid changing the callers of the code the accessor is made virtual in the Space class, this should not be a performance problem since the caller already contains several calls to other virtual functions.