Mercurial > hg > graal-jvmci-8
diff README.html @ 13878:64b9375246e4
Update README and AUTHORS. Move to HTML format.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Wed, 05 Feb 2014 14:02:54 +0100 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/README.html Wed Feb 05 14:02:54 2014 +0100 @@ -0,0 +1,81 @@ +<h2>Building Graal</h2> +<p>There is a Python script in mxtool/mx.py that simplifies working with the code +base. It requires Python 2.7. While you can run this script by using an absolute path, +it's more convenient to add graal/mxtool to your PATH environment variable so that the +'mx' helper script can be used. The following instructions in this file assume this +setup.</p> + +<p>Building both the Java and C++ source code comprising the Graal VM +can be done with the following simple command.</p> + +<pre> +% mx build +</pre> + +<p>There are a number of VM configurations supported by mx which can +be explicitly specified using the --vm option. However, you'll typically +want one of these VM configurations:</p> + +<ol> +<li> The 'server' configuration is a standard HotSpot VM that includes the + runtime support for Graal but uses the existing compilers for normal + compilation (e.g., when the interpreter threshold is hit for a method). + Compilation with Graal is only done by explicit requests to the + Graal API. This is how Truffle uses Graal.</li> + +<li> The 'graal' configuration is a VM where all compilation is performed + by Graal and no other compilers are built into the VM binary. This + VM will bootstrap Graal itself at startup unless the -XX:-BootstrapGraal + VM option is given. </li> +</ol> + +<p>Unless you use the --vm option with the build command, you will be presented +with a dialogue to choose one of the above VM configurations for the build +as well as have the option to make it your default for subsequent commands +that need a VM specified.</p> + +<p>To build the debug or fastdebug builds:</p> + +<pre> +% mx --vmbuild debug build +% mx --vmbuild fastdebug build +</pre> + +<h2>Running Graal</h2> + +<p>To run the VM, use 'mx vm' in place of the standard 'java' command:</p> + +<pre> +% mx vm ... +</pre> + +<p>To select the fastdebug or debug builds of the VM:</p> + +<pre> +% mx --vmbuild fastdebug vm ... +% mx --vmbuild debug vm ... +</pre> + +<h2>Other VM Configurations</h2> + +<p>In addition to the VM configurations described above, there are +VM configurations that omit all VM support for Graal:</p> + +<pre> +% mx --vm server-nograal build +% mx --vm server-nograal vm -version +java version "1.7.0_25" +Java(TM) SE Runtime Environment (build 1.7.0_25-b15) +OpenJDK 64-Bit Server VM (build 25.0-b43-internal, mixed mode) +</pre> + +<pre> +% mx --vm client-nograal build +% mx --vm client-nograal vm -version +java version "1.7.0_25" +Java(TM) SE Runtime Environment (build 1.7.0_25-b15) +OpenJDK 64-Bit Cleint VM (build 25.0-b43-internal, mixed mode) +</pre> + +<p>These configurations aim to match as closely as possible the +VM(s) included in the OpenJDK binaries one can download.</p>