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