On 10 Jun 2016, at 18:38, Daniel D. Daugherty <daniel.daughe...@oracle.com> 
wrote:
> 
> On 6/10/16 8:52 AM, Alan Bateman wrote:
>> 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 just re-read this...
> 
> A space in the VM option? As in '-addmods<space><mod_name>'? That's a
> completely new idea for VM options processing and one that we took
> great pains to avoid when '-agentlib' and '-agentpath' were added
> back in the JDK1.5 timeframe.
> 
> Alan, surely you remember this from the early JSR-163 and JVM/TI days...
> 
> Dan

Hi,
See also, for example,
https://bugs.openjdk.java.net/browse/JDK-8159136

(NPE on current JDKs on WebStart launch with VM args “-addmods java.se.ee”)

Thanks,
Robert

Reply via email to