JEP 173: Retire Some Rarely-Used GC Combinations

OwnerBengt Rutisson
Created2012/11/26 20:00
Updated2015/01/20 07:36
StatusClosed / Delivered
Componenthotspot / gc
Discussionhotspot dash gc dash dev at openjdk dot java dot net
Reviewed byJesper Wilhelmsson, John Coomes, Jon Masamitsu
Endorsed byMikael Vidstedt


Remove three rarely-used combinations of garbage collectors in order to reduce ongoing development, maintenance, and testing costs.


There are three GC combinations that are currently not used enough to warrant future support:

These combinations add extra complexity to the GC code base and consume valuable testing resources while adding very little value to the users. To simplify the GC code base and improve testing and sustainability we propose to remove these combinations.


There is a large cost to keep all the existing GC combinations. There are not enough resources to test all of them. New features take longer to implement and test due to the complexity of the GC code base. As a first step towards a simpler, more stable, and faster code base we need to remove some of the rarely used combinations.


The DefNew + CMS and ParNew + SerialOld combinations and the Incremental Mode of CMS will be deprecated (logging a warning message). This is to be interpreted as that these GC combinations will be removed in some upcoming major release.

The following combinations of command-line flags will be affected:

Flags GC Configuration -XX:-UseParNewGC -XX:+UseConcMarkSweepGC DefNew + CMS -XX:+UseParNewGC ParNew + SerialOld -Xincgc ParNew + iCMS -XX:+CMSIncrementalMode -XX:+UseConcMarkSweepGC ParNew + iCMS -XX:+CMSIncrementalMode -XX:+UseConcMarkSweepGC -XX:-UseParNewGC DefNew + iCMS


Continue to support untested GC combinations.


Risks and Assumptions

There are basically three assumptions about the GC combinations in question:

There is a risk that one or more of these assumptions don't hold up. As far as we can tell at the moment the risk is small.