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