RFR (S) round 0 for 8141068 Refactor -XXFlags= code in preparation for removal

Daniel D. Daugherty daniel.daugherty at oracle.com
Wed Nov 11 16:36:15 UTC 2015


This needs a little bit of clarification:

3976 jint Arguments::match_special_option_and_act(const JavaVMInitArgs* 
args,
3977                                              char ** vm_options_file,
3978 ScopedVMInitArgs* args_out) {

The 'vm_options_file' parameter is currently used for two things:

1) when the parameter is non-NULL, that indicates the caller
    supports '-XX:VMOptionsFile'; currently only the cmd line
    option bucket supports '-XX:VMOptionsFile'
2) makes sure that only one -XX:VMOptionsFile=foo option is
    specified on the cmd line

Restriction #1 is implemented by:

3994       if (vm_options_file != NULL) {
<snip>
4022       } else {
4023         jio_fprintf(defaultStream::error_stream(),
4024                     "VM options file is only supported on the 
command line\n");
4025         return JNI_EINVAL;
4026       }

Restriction #2 is implemented by:

3994       if (vm_options_file != NULL) {
3995         // The caller accepts -XX:VMOptionsFile
3996         if (*vm_options_file != NULL) {
3997           jio_fprintf(defaultStream::error_stream(),
3998                       "The VM Options file can only be specified 
once and "
3999                       "only on the command line.\n");
4000           return JNI_EINVAL;
4001         }

So the 'vm_options_file' parameter cannot be removed at this
time without changing the current set of restrictions on the
'-XX:VMOptionsFile' option. Ron has another bug looking at
lifting those restrictions:

JDK-8135198 Specifying a vm options file should not be limited
             to only once on the command line
https://bugs.openjdk.java.net/browse/JDK-8135198

JDK-8135198 will require a CCC request in order to change the
semantics that were defined in the original work (JDK-8061999).

Dan


On 11/10/15 2:02 PM, Ron Durbin wrote:
> Coleen
>
> This is to formally respond to your email.  Dan and I agreed the change you are requesting should be done, but not
> in this change set.  Keeping this change set to only XX:Flags changes. A future change set that could clean up
> the options file processing should address your issue.
>
> Ron
>
>
>> -----Original Message-----
>> From: Coleen Phillimore
>> Sent: Monday, November 09, 2015 2:03 PM
>> To: hotspot-runtime-dev at openjdk.java.net
>> Subject: Re: RFR (S) round 0 for 8141068 Refactor -XXFlags= code in preparation for removal
>>
>>
>> Ron,
>>
>> This looks really good!  Although I don't see why you need to pass
>> vm_options_file argument into match_special_options_and_act now since
>> it's not used afterward, so you only have to pass one NULL in the cases
>> where vm_options_file is not allowed.
>>
>> thanks,
>> Coleen
>>
>> On 11/6/15 2:05 PM, Ron Durbin wrote:
>>> This bug fix consists of a refactoring/cleanup of the -XX:Flags code.
>>>
>>> Webrev:
>>> http://cr.openjdk.java.net/~rdurbin/8141068_OCR0_JDK9_webrev
>>>
>>>
>>> Bug report:
>>> https://bugs.openjdk.java.net/browse/JDK-8141068
>>>
>>> This bug fix has been tested on:
>>>      OS:
>>>        Solaris, MAC, Windows, Linux
>>>      Tests:
>>>        Manual unit tests
>>>        JPRT with -testset hotspot(including the SQE current test coverage for this feature.)



More information about the hotspot-runtime-dev mailing list