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

harold seigel harold.seigel at oracle.com
Wed Jun 8 17:22:36 UTC 2016


Hi Mandy,

Yes, I can make that change.  Thanks for pointing it out.

Harold

On 6/8/2016 12:35 PM, Mandy Chung wrote:
> Updated webrev with Harold’s latest VM change incorporating the review comments:
>    http://cr.openjdk.java.net/~mchung/jdk9/webrevs/8136930/webrev.01/index.html
>
> Harold - the revised VM change looks okay to me.
>
> Minor one: you define the following:
>   202 #define MODULE_PATH_PROPERTY "-Djdk.module.path”
>   204 #define MODULE_UPGRADE_PATH_PROPERTY "-Djdk.module.upgrade.path"
>
> It may be good to consider having #define for all module property names and used consistently.
>
> Mandy
>
>> On Jun 3, 2016, at 11:47 PM, Mandy Chung <mandy.chung at oracle.com> wrote:
>>
>> Webrev:
>>   http://cr.openjdk.java.net/~mchung/jdk9/webrevs/8136930/webrev.00/
>>
>> -modulepath, -addmods, -limitmods, -XaddExports, -XaddReads, -Xpatch are java launcher options in the current implementation.  Custom launchers will have to use -D to set some system properties to configure module system.  Different ways to configure module system is confusing and not friendly for environments using both java launcher and custom launchers.
>>
>> This patch pushes the handling of the module options into the VM.  That will avoid the confusion between launcher and VM options and avoids needing to use system properties.  All launcher implementations can configure the module system via JNI Invocation API setting these options in a unified way.  The options and syntax remain the same as specified in JEP 261.
>>
>> For the non-repeating options, like the other VM options, the last one wins.  The current implementation communicates the options to the module system through system properties, as a private interface, and these system properties will be removed once they are read during the module system initialization.  These system properties are reserved as private interface and they will be ignored if they are set via -D in the command line. Harold implements the hotspot change and can explain further details.
>>
>> This patch will impact existing tests and scripts that set the system properties for example to break encapsulation in the command line e.g. -Djdk.launcher.addexports.<N>.  They will need to be updated to replace the use of -D with the appropriate module option e.g. -XaddExports.  Since they are new options in JDK 9, use -XX:+IgnoreUnrecognizedVMOptions if they need to be ignored by earlier releases.
>>
>> Mandy
>>
>>



More information about the jigsaw-dev mailing list