RFD: AOT for AArch64

Andrew Haley aph at redhat.com
Fri Mar 23 18:11:42 UTC 2018

How to build it:

Check out jdk-hs.  Apply
http://cr.openjdk.java.net/~aph/jaotc/jdk-hs-1/ to that checkout then
build OpenJDK images.


 $ git checkout https://github.com/theRealAph/graal.git
 $ cd graal
 $ git branch aarch64-branch-overflows

MAKE SURE that JAVA_HOME is pointing at the jdk-hs you just built:

 $ export JAVA_HOME=/local/jdk-hs/build/linux-aarch64-normal-server-release/images/jdk/

Follow the "Building Graal" instructions at

My graal is in /local/graal/ and my jdk-hs is in /local/jdk-hs/.
To run jaotc, I do something like this:

/local/jdk-hs/build/linux-aarch64-normal-server-release/images/jdk/bin/jaotc \
-J--module-path=/local/graal/graal/sdk/mxbuild/modules/org.graalvm.graal_sdk.jar:/local/graal/graal/truffle/mxbuild/modules/com.oracle.truffle.truffle_api.jar \
-J--upgrade-module-path=/local/graal/graal/compiler/mxbuild/modules/jdk.internal.vm.compiler.jar \
myjar.jar --output myjar.so

Note that the "-J" commands point jaotc at the version of Graal you've
just built rather than OpenJDK's built-in version of Graal.


Andrew Haley
Java Platform Lead Engineer
Red Hat UK Ltd. <https://www.redhat.com>
EAC8 43EB D3EF DB98 CC77 2FAD A5CD 6035 332F A671

More information about the hotspot-dev mailing list