Request for review (s) - 8155948: Add message for CMS deprecation for some internal builds

Kim Barrett kim.barrett at oracle.com
Wed Sep 7 22:12:58 UTC 2016


> On Sep 7, 2016, at 1:12 PM, Jon Masamitsu <jon.masamitsu at oracle.com> wrote:
> 
> Webrevs are  ready now and is somewhat larger than before since
> (as was pointed out to me, thanks Kim)  I had not covered
> all the arguments that I should have.
> 
> When CMS is turned on as a result of UseAutoGCSelectPolicy, I also turn
> on ParNew to avoid the message (and exit)
> 
>> It is not possible to combine the DefNew young collector with the CMS collector.
>> Error: Could not create the Java Virtual Machine.
>> Error: A fatal exception has occurred. Program will exit.
> 
> Delta webrev
> http://cr.openjdk.java.net/~jmasa/8155948/webrev_delta.00_01/
> 
> Full webrev
> http://cr.openjdk.java.net/~jmasa/8155948/webrev.01/

------------------------------------------------------------------------------ 
src/share/vm/runtime/arguments.cpp
 449 static bool lookup_special_flag(const char *flag_name, SpecialFlag& flag) {
 450   for (size_t i = 0; special_jvm_flags[i].name != NULL; i++) {
...
 456   // Secondary list
 457   return lookup_special_flag_ext(flag_name, flag);

Perhaps the ext lookup should be done first, to allow ext to override
open behavior. For example, consider an option that is being
deprecated in openjdk, but a commercial vendor is going to provide
continued support.

------------------------------------------------------------------------------
src/share/vm/runtime/arguments.cpp
4064 void Arguments::handle_concgc_flags() {
4065   SpecialFlag flag;
4066   const char *flag_name = "UseConcMarkSweepGC";
4067   if (log_is_enabled(Warning, gc) &&
4068       lookup_special_flag(flag_name, flag)) {
4069     handle_aliases_and_deprecation(flag_name, /* print warning */ true);
4070     log_warning(gc)("-Xconcgc/-Xnoconcgc uses UseConcMarkSweepGC");
4071   }
4072 }

This non-trivial little dance is done both here and for
UseAutoGCSelectPolicy.  I think handle_concgc_flags could deal with
both if it took an argument of the "offending" flag.

------------------------------------------------------------------------------



More information about the hotspot-dev mailing list