Transition to JVMCI JDK8 (removing jvmci suite dependency)

Doug Simon doug.simon at
Mon Jun 6 13:58:56 UTC 2016

We will soon be removing the jvmci suite dependency from graal-core. Instead, you will use a JVMCI enabled JDK to develop/run Graal. I will send a more detailed message about the transition once we’ve made it, including where you can download JVMCI enabled JDKs. Unfortunately, I updated the jvmci import dependency in graal-core to fix a build issue[1] without realizing it also included another change to the way VMs are built and run[2] that was in preparation for the aforementioned transition. As such, I’m documenting the command line changes here. The usage changes reflect that fact that a single VM binary can be used for both hosted and non-hosted execution.

New usage without mx:

  "-XX:-UseJVMCICompiler" selects hosted mode (the default)
  "-XX:+UseJVMCICompiler" selects jvmci as system compiler
  "-XX:+/-EnableJVMCI" does nothing, it exists just for jdk9 compatibility (+ is the default, - prints a warning that it doesn't actually do anything)

New usage with mx:

  "--vm server" or "DEFAULT_VM=server" is now the default (no need to specify DEFAULT_VM anymore)
  "-Mhosted" selects hosted mode (the default)
  "-Mjit" selects jvmci as system compiler
  "--vm jvmci" still exists for backwards compatibility, it's rewritten by mx to "--vm server -Mjit" (and will print a deprecation warning)

Note that the mx usage above will change once the jvmci suite dependency is removed. The details will be in the message announcing the transition.



More information about the graal-dev mailing list