RFR(M) 8206135: Building jvm with AOT but without JVMCI should fail at configure time
vladimir.kozlov at oracle.com
Tue Jul 10 04:45:21 UTC 2018
Several configure issues was found related to jvmci, graal and aot build.
Main problem is related values specified with --with-jvm-features were ignored. For example, JVMCI
module was still built even with --with-jvm-features=-jvmci but JVMCI code was excluded from Hotspot
VM. AOT tool will be build but Hotspot compilation fails (as in bug report) when jvmci or graal was
Note, jvmci and Graal modules build and Hotspot code are controlled only by --with-jvm-features flag.
AOT is controlled by special --enable-aot/--diable-aot flag and --with-jvm-features (inclusion of
AOT code in Hotspot is controlled by jvm-features check). But configure AOT code ignored
--with-jvm-features aot settings.
1. Exclude jdk.internal.vm.ci module build when --with-jvm-features=-jvmci specified
2. Removed duplicated message for forced aot disabling.
3. Check DISABLED_JVM_FEATURES list (negative values listed in --with-jvm-features) for jvmci, graal
and aot to disable them.
4. Disable aot if graal is disabled and issue error if aot build was explicitly enabled by --enable-aot.
5. Issue error if --with-jvm-features=aot is specified by aot can't be build or is disabled.
--enable-aot should be used instead of --with-jvm-features=aot because it has additional checks
(presence of sources).
Tested with build-tier1, hs-tier1, hs-tier2. Also the same testing but with
--with-jvm-features=-jvmci and --with-jvm-features=-graal configure flags.
More information about the hotspot-dev