RFR (S): 8233301: Implementation of JEP 366: Deprecate the ParallelScavenge + SerialOld GC Combination

Thomas Schatzl thomas.schatzl at oracle.com
Mon Nov 4 10:46:49 UTC 2019


On 01.11.19 00:05, Bernd Eckenfels wrote:
> The help message:
> Use the Parallel Old garbage collector. Deprecated.

   product(bool, UseParallelOldGC, false, 
           "Use the Serial Old garbage collection algorithm for old " 
           "generation. Deprecated." 

> Looks a bit missleading to me. I know it means the option is deprecated (especially the non default negative value
 > but it could easily be understood as ParallelOld beeing deprecated.

I hope the new text is better understandable and does not lead to the 
confusion you suggested.

Note that the default value of "false" is correct although maybe 
surprising, as this change does not modify it. It's only that 
-XX:+UseParallelGC is actually a shorthand for "-XX:+UseParallelGC 
-XX:+UseParallelOldGC" for like forever.

I do not want to change this here.

Note that these strings are not the official documentation, but the 
manpage. They read:

:   Enables the use of the parallel scavenge garbage collector (also 
known as
     the throughput collector) to improve the performance of your 
application by
     leveraging multiple processors.

     By default, this option is disabled and the default collector is used.
     If it's enabled, then the `-XX:+UseParallelOldGC` option is
     automatically enabled, unless you explicitly disable it.

and (with this change, as part of the "Deprecated" section):

:   Enables the use of the parallel garbage collector for full GCs. By 
     this option is disabled. Enabling it automatically enables the
     `-XX:+UseParallelGC` option.

Which seems in line with what is now told in the sources too.

> There is no jtreg for +UseParallelOld. It would need to document that deprecation warning is expected for that as well?

There is a separate test case in 
test/hotspot/jtreg/runtime/CommandLine/VMDeprecatedOptions.java which 
does not seem updated for any and all deprecated options. I added this 
flag to it anyway.

local compilation + local jtreg test


More information about the hotspot-gc-dev mailing list