REF: 8159888: [JVMCI] the client VM build is broken when INCLUDE_JVMCI is defined

Doug Simon doug.simon at
Wed Jun 29 12:23:55 UTC 2016

Even though client+JVMCI (i.e., !TIERED && COMPILER1 && INCLUDE_JVMCI) doesn’t appear to be a supported configuration, it should still be buildable and produce a working VM where a JVMCI compiler can be used in hosted mode. This bug addresses that.

I was able to build an exploded jdk but building an image failed in a way I cannot understand:

Building these configurations (matching CONF=release):
* linux-x86_64-normal-client-release
* linux-x86_64-normal-server-release
Building target 'images' in configuration 'linux-x86_64-normal-client-release'
Building JVM variant 'client' with features 'all-gcs cds compiler1 fprof jni-check jvmci jvmti management nmt services vm-structs'
make[3]: *** [/home/dsimon/hs-comp/build/linux-x86_64-normal-client-release/support/classlist/classlist] Error 4
make[2]: *** [generate-classlist] Error 1

ERROR: Build failed for target 'images' in configuration 'linux-x86_64-normal-client-release' (exit code 2)
No indication of failed target found.
Hint: Try searching the build log for '] Error'.
Hint: If caused by a warning, try configure --disable-warnings-as-errors.

make[1]: *** [main] Error 1
make: *** [images] Error 2

Using the exploded jdk, I tested the changes on Graal. I had to manually edit build/linux-x86_64-normal-client-release/jdk/lib/amd64/jvm.cfg from:

-server KNOWN
-client IGNORE


-client KNOWN
-server IGNORE

This file appears to be directly copied from jdk/src/java.base/unix/conf/amd64/jvm.cfg. If/when client builds on amd64 are supported, obviously the generation of jvm.cfg will have to be a little more dynamic.


More information about the hotspot-compiler-dev mailing list