On 8/24/17 11:21 AM, Alan Bateman wrote:
On 24/08/2017 19:05, mandy chung wrote:
java --validate-modules requires only java.base to do the validation
and hence the current implementation creates a minimum boot layer
with java.base only. It fails when running with -XX:+EnableJVMCI
when VM attempts to load JVMCI class which is not in the boot layer.
This patch changes the minimal boot layer to resolve all system
modules that should get --validate-modules to work with some VM
options that add some module at runtime.
Webrev:
http://cr.openjdk.java.net/~mchung/jdk10/webrevs/8186145/webrev.00/
Looks okay except L218 where the comment needs to be updated to say
that it starts without an application module path.
Good catch.
I also wonder if a test is possible, it could use "@requires vm.jvmci"
so that it only runs when that capability is present.
That's a good idea. I added a new test in hotspot/test/compiler/jvmci.
Updated webrev:
http://cr.openjdk.java.net/~mchung/jdk10/webrevs/8186145/webrev.01/index.html
I considered adding this in the jdk/test directory. @requires vm.jvmci
tightly couples with VM and also VM testlibrary and I am hesitated
extending jdk/test/TEST.ROOT to set up for this test. We can revisit
this if there is a strong need to move this new test in the jdk/test
directory.
Mandy
[1]
http://hg.openjdk.java.net/jdk10/jdk10/file/90cdfe56f154/test/jtreg-ext/requires/VMProps.java