Obviously you can download GraalVM/Graal from here:
But I tried to build Graal.
We need Graal and mx. I used Graal version 0.29.
$ git clone https://github.com/graalvm/graal.git $ cd ../graal $ git checkout vm-enterprise-0.29 $ git clone https://github.com/graalvm/mx.git $ cd mx $ export PATH=`pwd`:$PATH $ mx -v Welcome to Mx version 5.130.1
It's my understanding that mx is like maven and for complicated use cases, not for application development.
We build a Graal JIT compiler. I use JDK 9.
$ cd graal/compiler $ export JAVA_HOME=`/usr/libexec/java_home -v 9` $ mx build ... Archiving TRUFFLE_TEST... [dependency com.oracle.truffle.api.test updated]
We check a command mx vm
.
$ mx vm 使用方法: java [options] <mainclass> [args...] (クラスを実行する場合) または java [options] -jar <jarfile> [args...] (jarファイルを実行する場合) または java [options] -m <module>[/<mainclass>] [args...] java [options] --module <module>[/<mainclass>] [args...] (モジュールのメイン・クラスを実行する場合) ...
Wow, those are Japanese but you may see your mother language.
To read source code on IDE, run 'mx ideinit'. After running this command emits configurations for Eclipse, IntelliJ IDEA and NetBeans. We can see files such as .classpath, project.xml and .iml.
$ mx ideinit created /Users/jyukutyo/code/graal/truffle/mxbuild/mx.truffle/eclipse-project-settings ...
There is a problem. On IntelliJ IDEA the value of SDK is 1.9
, so all modules have a error. I changed the value to 9
.
IGV
IGV can visualize data structures of Graal. Another time I'll try to run visualization.
$ mx igv Downloading BATIK from ['https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/batik-all-1.7.jar'] Downloading https://lafo.ssw.uni-linz.ac.at/pub/graal-external-deps/batik-all-1.7.jar to /Users/koichi.sakata/.mx/cache/BATIK_122b87ca88e41a415cf8b523fd3d03b4325134a3.jar 8361163 bytes (100%) Please select a JDK for running IGV: (version >= 1.8 and < 1.8.0u20 or >= 1.8.0u40) [1] Java 1.8.0_144 (1.8) from /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home [2] Java 1.7.0_80 (1.7) from /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home [3] <other>
We need to select a JDK for running IGV. I selected [3] and type the path to JDK 9, but I couldn't use JDK 9. I don't know why.
Run unit tests
There are unit tests. We can run them.
$ mx unittest -Dgraal.Dump BC_athrow0 ... MxJUnitCore JUnit version 4.12 .Dumping debug output in /Users/jyukutyo/code/graal/compiler/dumps/1510811588804 . Time: 1.738 OK (2 tests)
OK. We're ready to dive into Graal!