JDK-8027132: Print deprecation warning message for the flags controlling the CMS foreground collector

Bengt Rutisson bengt.rutisson at oracle.com
Thu Oct 24 11:41:46 UTC 2013


Hi all,

Can I have a couple of reviews for this small change?

http://cr.openjdk.java.net/~brutisso/8027132/webrev.00/

CR: https://bugs.openjdk.java.net/browse/JDK-8027132

Background from the CR:

Normally CMS reverts to the SerialOld GC when it needs to do a full GC. 
There is a mode in CMS to instead use the "foreground collector".  This 
is a single threaded stop-the-world mode which completes an ongoing 
concurrent CMS collection (a normal "background" collection in CMS).

The foreground collector is very slow and to enable it two flags are 
required. First -XX:-UseCMSCompactAtFullCollection needs to be added to 
the command line to turn off the SerialOld collector, then 
-XX:CMSFullGCsBeforeCompaction needs to be set to a value greater than 0.

The foreground collector adds a lot of complexity to the CMS code but 
has few (if any?) use cases. Thus, it would be good to remove it to 
simplify the code. In order to remove it we need to deprecate it first. 
This bug report is only about deprecating the flags to allow us to 
remove the foreground collector in a future release.

The following flags should log a warning message that they are 
deprecated, but the VM should still continue to work when they are used:

UseCMSCompactAtFullCollection
CMSFullGCsBeforeCompaction
UseCMSCollectionPassing

Thanks,
Bengt



More information about the hotspot-gc-dev mailing list