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

Jon Masamitsu jon.masamitsu at oracle.com
Thu Sep 8 16:35:50 UTC 2016


Kim,

Thanks for looking at this.  Comments below.

On 09/07/2016 03:12 PM, Kim Barrett wrote:
>> 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.

Good point.  I will move the _ext check to be done first.

>
> ------------------------------------------------------------------------------
> 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.
>
> ------------------------------------------------------------------------------
>

-Xconcgc does not have a SpecialFlag associated with it currently. Do 
you mean
add one for "concgc" (even through it is not a -XX flags)?  Or do you 
mean that
"offending" flag is just a parameter that chooses between the two cases
-Xconcgc/-Xnoconcgc and -XX:+UseAutoGCSelectPolicy?

Jon



More information about the hotspot-dev mailing list