Mercurial > hg > graal-compiler
annotate README.html @ 13909:fac51a64fda0
made NativeFunctionInterfaceTest pass on Windows
author | Doug Simon <doug.simon@oracle.com> |
---|---|
date | Fri, 07 Feb 2014 16:24:31 +0100 |
parents | 64b9375246e4 |
children |
rev | line source |
---|---|
13878
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
1 <h2>Building Graal</h2> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
2 <p>There is a Python script in mxtool/mx.py that simplifies working with the code |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
3 base. It requires Python 2.7. While you can run this script by using an absolute path, |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
4 it's more convenient to add graal/mxtool to your PATH environment variable so that the |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
5 'mx' helper script can be used. The following instructions in this file assume this |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
6 setup.</p> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
7 |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
8 <p>Building both the Java and C++ source code comprising the Graal VM |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
9 can be done with the following simple command.</p> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
10 |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
11 <pre> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
12 % mx build |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
13 </pre> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
14 |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
15 <p>There are a number of VM configurations supported by mx which can |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
16 be explicitly specified using the --vm option. However, you'll typically |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
17 want one of these VM configurations:</p> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
18 |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
19 <ol> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
20 <li> The 'server' configuration is a standard HotSpot VM that includes the |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
21 runtime support for Graal but uses the existing compilers for normal |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
22 compilation (e.g., when the interpreter threshold is hit for a method). |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
23 Compilation with Graal is only done by explicit requests to the |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
24 Graal API. This is how Truffle uses Graal.</li> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
25 |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
26 <li> The 'graal' configuration is a VM where all compilation is performed |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
27 by Graal and no other compilers are built into the VM binary. This |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
28 VM will bootstrap Graal itself at startup unless the -XX:-BootstrapGraal |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
29 VM option is given. </li> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
30 </ol> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
31 |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
32 <p>Unless you use the --vm option with the build command, you will be presented |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
33 with a dialogue to choose one of the above VM configurations for the build |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
34 as well as have the option to make it your default for subsequent commands |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
35 that need a VM specified.</p> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
36 |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
37 <p>To build the debug or fastdebug builds:</p> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
38 |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
39 <pre> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
40 % mx --vmbuild debug build |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
41 % mx --vmbuild fastdebug build |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
42 </pre> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
43 |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
44 <h2>Running Graal</h2> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
45 |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
46 <p>To run the VM, use 'mx vm' in place of the standard 'java' command:</p> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
47 |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
48 <pre> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
49 % mx vm ... |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
50 </pre> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
51 |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
52 <p>To select the fastdebug or debug builds of the VM:</p> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
53 |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
54 <pre> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
55 % mx --vmbuild fastdebug vm ... |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
56 % mx --vmbuild debug vm ... |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
57 </pre> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
58 |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
59 <h2>Other VM Configurations</h2> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
60 |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
61 <p>In addition to the VM configurations described above, there are |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
62 VM configurations that omit all VM support for Graal:</p> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
63 |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
64 <pre> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
65 % mx --vm server-nograal build |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
66 % mx --vm server-nograal vm -version |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
67 java version "1.7.0_25" |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
68 Java(TM) SE Runtime Environment (build 1.7.0_25-b15) |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
69 OpenJDK 64-Bit Server VM (build 25.0-b43-internal, mixed mode) |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
70 </pre> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
71 |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
72 <pre> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
73 % mx --vm client-nograal build |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
74 % mx --vm client-nograal vm -version |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
75 java version "1.7.0_25" |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
76 Java(TM) SE Runtime Environment (build 1.7.0_25-b15) |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
77 OpenJDK 64-Bit Cleint VM (build 25.0-b43-internal, mixed mode) |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
78 </pre> |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
79 |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
80 <p>These configurations aim to match as closely as possible the |
64b9375246e4
Update README and AUTHORS. Move to HTML format.
Thomas Wuerthinger <thomas.wuerthinger@oracle.com>
parents:
diff
changeset
|
81 VM(s) included in the OpenJDK binaries one can download.</p> |