Review Request JDK-8136930 Examine implications for custom launchers, equivalent of java -X options in particular
Coleen Phillimore
coleen.phillimore at oracle.com
Fri Jun 10 14:00:55 UTC 2016
On 6/9/16 2:26 AM, Alan Bateman wrote:
> On 08/06/2016 23:37, Coleen Phillimore wrote:
>>
>> :
>>
>> I have to ask why Hotspot convention was violated with this new
>> option syntax? These options don't start with -X and the values
>> aren't specified as : separators like the rest? Like
>> -Xshare:{dump,auto,on,off}, etc. Why are these different?
> I see Mandy has pointed to -agentlib, -javaagent and others which are
> also handled by the VM.
>
> In general then distinction between so-called standard and -X options
> has been blurred for many years. At some point we need to take a pass
> over the new options and decide whether they should be -X or not. -X
> is particularly annoying when you start to translate the option names
> GNU style.
There are 3 options that Mandy pointed to but there are 93 options we
handle with special case in arguments.cpp and about 1240 XX options.
The three options are an exception. -verbose has likely been there
since java 1.3 and -agentlib and -agentpath probably should have had -X
but for some reason they didn't. If the conventions are blurred that
doesn't really justify throwing out the entire convention, or violating
it further.
The difference between these module options and the other non-conforming
options is that the others actually do something in the JVM. The module
options only set properties for the JDK. So we have code in the JVM
that only affects the JDK. This breaks encapsulation between the two
code bases and is traditionally not what you want to do in significant
code bases like Hotspot and jdk.
This is mostly the reason that I object to these options. They are in
the wrong place. They do not affect processing in the JVM so should not
be parsed there. There are other known mechanisms for communicating
with the jdk that should be followed, passing -D options directly or
using the launcher.
I don't understand the GNU style option comment. Java option predate
the ubiquity of gnu style option processing. Internally, our option
consistency has been pretty poor, which is why I need scripts to do
everything. I hope there's no plan to mix in gnu style options.
>
>> :
>>
>> Someone already asked this but are there tests for all these
>> combinations of options?
> The main tests for these options, and combinations, are in
> jdk/tests/launcher/modules.
This seems like the best place for this test given that the
functionality should be in the launcher.
Coleen
>
> -Alan
More information about the jigsaw-dev
mailing list