Thanks, Vladimir.
I usually used --with-jvm-features=-aot,-jvmci,-graal
Did not work in this case too?
I didn't know it supports comma-separated list, but it doesn't work as
well:
$ bash configure --with-jvm-features="-aot,-jvmci,-graal"
checking if jvmci module jdk.internal.vm.ci should be built... yes
checking if graal module jdk.internal.vm.compiler should be built... yes
checking if aot should be enabled... yes
Best regards,
Vladimir Ivanov
On 1/18/19 3:33 PM, Vladimir Ivanov wrote:
http://cr.openjdk.java.net/~vlivanov/8217404/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8217404
--with-jvm-features doesn't work properly when multiple features are
explicitly disabled:
$ bash configure --with-jvm-features="-aot -jvmci -graal"
...
checking if jvmci module jdk.internal.vm.ci should be built... yes
checking if graal module jdk.internal.vm.compiler should be built... yes
checking if aot should be enabled... yes
...
The problem in the following code:
DISABLE_AOT=`$ECHO $DISABLED_JVM_FEATURES | $GREP aot`
if test "x$DISABLE_AOT" = "xaot"; then
ENABLE_AOT="false"
fi
Since DISABLED_JVM_FEATURES ("aot jvmci graal") contains the list of
explicitly disabled features, grep over it returns the whole list when
there's a match. The subsequent check fails because there's no exact
match, though DISABLE_AOT contains "aot" .
Proposed fix is to check there's no match instead.
After the fix it works as expected:
$ bash configure --with-jvm-features="-aot -jvmci -graal"
...
checking if jvmci module jdk.internal.vm.ci should be built... no, forced
checking if graal module jdk.internal.vm.compiler should be built...
no, forced
checking if aot should be enabled... no, forced
...
(The fix doesn't address the case when one feature has a name which is
a proper substring of another feature, but there are no such cases at
the moment.)
Best regards,
Vladimir Ivanov