changeset 11587:a8132e3fd0d8

further improvements to README_GRAAL.txt
author Doug Simon <doug.simon@oracle.com>
date Tue, 10 Sep 2013 21:30:46 +0200
parents 9652640fae42
children c47153857827 ecbeceacca98
files README_GRAAL.txt
diffstat 1 files changed, 30 insertions(+), 40 deletions(-) [+]
line wrap: on
line diff
--- a/README_GRAAL.txt	Tue Sep 10 21:29:31 2013 +0200
+++ b/README_GRAAL.txt	Tue Sep 10 21:30:46 2013 +0200
@@ -11,11 +11,30 @@
 
 % mx build
 
-This builds the 'product' version of HotSpot with the Graal modifications.
-To build the debug or fastdebug versions:
+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:
 
-  mx --vmbuild debug build
-  mx --vmbuild fastdebug build
+1. 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.
+   
+2. 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.   
+
+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.
+
+To build the debug or fastdebug builds:
+
+% mx --vmbuild debug build
+% mx --vmbuild fastdebug build
 
 Running Graal
 -------------
@@ -24,47 +43,16 @@
 
 % mx vm ...
 
-To select the fastdebug or debug versions of the VM:
+To select the fastdebug or debug builds of the VM:
 
 % mx --vmbuild fastdebug vm ...
 % mx --vmbuild debug vm ...
 
-Graal has an optional bootstrap step where it compiles itself before
-compiling any application code. This bootstrap step currently takes about 20 seconds
-on a fast x64 machine. It's useful to disable this bootstrap step when running small
-programs with the -XX:-BootstrapGraal options. For example:
-
-% mx vm -XX:-BootstrapGraal ...
-
-
-Other Build Configurations
---------------------------
-
-By default the build commands above create a HotSpot binary where Graal
-is the only compiler. This binary is the Graal VM binary and identifies as
-such with the -version option:
+Other VM Configurations
+-----------------------
 
-% mx vm -XX:-BootstrapGraal -version
-java version "1.7.0_25"
-Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
-OpenJDK 64-Bit Graal VM (build 25.0-b43-internal, mixed mode)
-
-It's also possible to build and execute the standard HotSpot binaries
-using the --vm option:
-
-% mx --vm server build
-% mx --vm server 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)
-
-These standard binaries still include the code necessary to support use of the
-Graal compiler for explicit compilation requests. However, in this configuration
-the Graal compiler will not service VM issued compilation requests (e.g., upon
-counter overflow in the interpreter).
-
-To build and run a HotSpot binary that completely omits all VM support for Graal,
-use the following as a guide:
+In addition to the VM configurations described above, there are
+VM configurations that omit all VM support for Graal:
 
 % mx --vm server-nograal build
 % mx --vm server-nograal vm -version
@@ -78,3 +66,5 @@
 Java(TM) SE Runtime Environment (build 1.7.0_25-b15)
 OpenJDK 64-Bit Cleint VM (build 25.0-b43-internal, mixed mode)
 
+These configurations aim to match as closely as possible the
+VM(s) included in the OpenJDK binaries one can download.
\ No newline at end of file