JDK-8200735 : Move CMS specific code from binaryTreeDictionary and freeList to CMS files
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2018-04-04
  • Updated: 2018-04-24
  • Resolved: 2018-04-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.
JDK 11
11 b10Fixed
Related Reports
Relates :  
Comments
The BinaryTreeDictionary and FreeList used to be classes only used by CMS, and therefore contained CMS specific code. These classes were later used by the Metaspace and moved to the memory/ directory. The CMS specific code was then guarded with numerous INCLUDE_ALL_GCS. This patch moves the CMS code to compactibleFreeListSpace.*pp, where it's used. To make it possible for the code in compactibleFreeListSpace.cpp file to use the code in binaryTreeDictionary.cpp and freeList.cpp I removed the explicit template instantiation and changed these two files into two .inline.hpp files. This patch helps minimizing the number of places we use INCLUDE_ALL_GCS in non-GC code, and is a prerequisite for: https://bugs.openjdk.java.net/browse/JDK-8200729 - Conditional compilation of GCs
04-04-2018