JDK-7097567 : G1: abstract and encapsulate collector phases and transitions between them
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: gc
  • Affected Version: 8
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2011-10-03
  • Updated: 2015-10-02
  • Resolved: 2015-06-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.
JDK 9
9 b72Fixed
Related Reports
Blocks :  
Relates :  
Relates :  
Description
The code for state/phase transitions in G1 are currently dependent on a few boolean state
variables whose manipluation is scattered through a few different methods in the heap and
policy classes. It might be a good idea to abstract and encapsulate these into one
state/phase class for the collector.

Comments
SUGGESTED FIX Unfortunately, I could not complete this change before my last day. The current set of changes merely encapsulated into a class the state transition actions and the state associated with the collection, but did not do any other abstraction to reduce the number of boolean variables that together represent the state of the G1 collection. The workspace with these changes and a webrev are available at:- /net/neeraja/export/ysr/phases/[webrev] It has been proposed that the state be represented as a 2-ple of states, with the first component representing whether an avacuation is purely young or mixed (involving both young andd some old regions), and a second component representing the mrking state of the concurrent collection. This should greatly reduce the complexity of the boolean state representation which currently has more that 10 different boolean variables.
31-10-2011

EVALUATION Yes.
04-10-2011