view README_GRAAL.txt @ 5763:a3d71693e0ce

removed bytecode disassembly from CodeCacheRuntime into separate BytecodeDisassembler class removed VM call for doing bytecode disassembly added support for explicitly excluding classes from JaCoCo (put '// JaCoCo Exclude' somewhere in the source file) added node intrinsics to MaterializeNode added snippets for the UnsignedMath classes each file opened by CFGPrinter now includes a unique id in its name to avoid a race of multiple threads writing to the same file the IdealGraphPrinter uses the new BytecodeDisassembler mechanism teh UnsignedMath class is exclude from JaCoCo processing as it is used in snippets
author Doug Simon <doug.simon@oracle.com>
date Wed, 04 Jul 2012 21:57:49 +0200
parents 70aaaa83b93a
children a89a18a57617
line wrap: on
line source

Building Graal
--------------
There is a Python script in graal/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.

Building both the Java and C++ source code comprising the Graal VM
can be done with the following simple command.

  mx build

This builds the 'product' version of HotSpot with the Graal modifications.
To build the debug or fastdebug versions:

  mx build debug
  mx build fastdebug

Running Graal
-------------

To run the VM, use 'mx vm' in place of the standard 'java' command:

  mx vm ...

To select the fastdebug or debug versions of the VM:

  mx --fastdebug vm ...
  mx --debug vm ...

Graal has an optional bootstrap step where it compiles itself before
compiling any application code. This bootstrap step currently takes about 7 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 ...