Review Request JDK-8136930 Examine implications for custom launchers, equivalent of java -X options in particular

Alan Bateman Alan.Bateman at oracle.com
Fri Jun 10 14:52:48 UTC 2016


On 10/06/2016 15:00, Coleen Phillimore wrote:

> :
>
> 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.
Some of these options configure the modules that are observables, others 
augment the readability graph or exports. So they are very significant 
to the runtime/VM. It was an implementation choice (and I think the 
right one) to keep most of the implementation out of libjvm.

As regards using system properties then this is exactly what we are 
trying to move away from.

The complexity that is the space in `-addmods` and `-limitmods` is 
indeed an issue. I would suggest not getting too concerned about this 
for now because it needs another pass to see whether this makes sense or 
not. Also options such as -XaddExports and -XaddReads are candidates to 
rename.
>
> 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.
At some point then we have to modernize. The new tools (jlink, jmod, 
...) are using GNU style. In the case of the `jar` tool then it supports 
both. Jon has been looking into this issue and I expect will make a 
proposal. I have not seen any suggestion to translate -X or -XX options 
into GNU style.

-Alan.


More information about the hotspot-runtime-dev mailing list