view GRAAL_README @ 3604:e4175b8b85d3

IdealGraphVisualizer: work around a Swing/NetBeans tree UI problem that occurs when mouse events are handled while the tree model is changing, e.g. when using IGV while it still receives graphs from a compiler. BasicTreeUI attempts to get the boundaries for the node associated with the location on screen, but fails and tries to access a null Rectangle, causing a user-visible NullPointerException. By implementing equals() for GraphNode, nodes for graphs that are already in the tree are not removed and re-added when updating groups, and the exception can no longer be reproduced. This potentially also resolves some redraw issues.
author Peter Hofer <peter.hofer@jku.at>
date Mon, 31 Oct 2011 15:55:13 +0100
parents d8c27956ec6e
children
line wrap: on
line source

For creating a Graal VM JDK, the file jre\lib\jvm.cfg has to be modified such that it includes the line:
-graal KNOWN

Before running the Graal VM, the following environment variables is needed:
- MAXINE: Pointing to a Maxine VM repository with compiled Java files.

In particular, the VM will look for the compiled Java files in the following directories:
${MAXINE}/com.oracle.max.cri/bin
${MAXINE}/com.oracle.max.base/bin
${MAXINE}/com.oracle.max.asmdis/bin
${MAXINE}/com.oracle.max.asm/bin
${MAXINE}/com.oracle.max.graal.graph/bin
${MAXINE}/com.oracle.max.graal.compiler/bin
${MAXINE}/com.oracle.max.graal.nodes/bin
${MAXINE}/com.oracle.max.graal.extensions/bin
${MAXINE}/com.oracle.max.graal.runtime/bin
${MAXINE}/com.oracle.max.graal.graphviz/bin

For starting the Graal VM, the flag "-graal" has to be specified. Additional flags that might be useful:
-G:Plot Sends the graphs of compiled methods via network stream to the IdealGraphVisualizer (NetBeans project at ${GRAAL}/src/share/tools/IdealGraphVisualizer that can be built and run with NetBeans 7.0, use "Graal Coloring" and "Graal Edge Coloring" filters)
-G:Time Prints timings for the different compilation phases
-G:Meter Prints metrics for the different compilation phases

The usual HotSpot flags -Xcomp -XX:CompileOnly= -XX:CompileCommand= or -XX:+PrintCompilation can be used to control the compiled methods.