mirror of
https://github.com/openjdk/jdk.git
synced 2026-05-11 14:11:36 +00:00
41 lines
2.0 KiB
Plaintext
41 lines
2.0 KiB
Plaintext
The Ideal Graph Visualizer is a tool developed to help examine the
|
|
intermediate representation of C2 which is commonly referred to as the
|
|
"ideal graph". It was developed in collaboration with the University
|
|
of Linz in Austria and has been included as part of hotspot since that
|
|
was the primary target of the tool. The tool itself is fairly general
|
|
with only a few modules that contain C2 specific elements.
|
|
|
|
The tool is built on top of the NetBeans 6.1 rich client
|
|
infrastructure and so requires NetBeans to build. It currently
|
|
requires Java 6 to run as it needs support for JavaScript for its
|
|
filtering mechanism and assumes it's built into the platform. It
|
|
should build out of the box with NetBeans 6.1 and Java 6 or later.
|
|
It's possible to run it on 1.5 by including Rhino on the classpath
|
|
though that currently isn't working correctly. Support for exporting
|
|
graphs as SVG can be enabled by adding batik to the classpath which
|
|
isn't included by default. It can be built on top of NetBeans 6.0 if
|
|
you change the required modules to be platform7 instead of platform8.
|
|
|
|
The JVM support is controlled by the flag -XX:PrintIdealGraphLevel=#
|
|
where # is:
|
|
|
|
0: no output, the default
|
|
1: dumps graph after parsing, before matching, and final code.
|
|
also dumps graph for failed compiles, if available
|
|
2: more detail, including after loop opts
|
|
3: even more detail
|
|
4: prints graph after parsing every bytecode (very slow)
|
|
|
|
By default the JVM expects that it will connect to a visualizer on the
|
|
local host on port 4444. This can be configured using the options
|
|
-XX:PrintIdealGraphAddress= and -XX:PrintIdealGraphPort=.
|
|
PrintIdealGraphAddress can actually be a hostname.
|
|
|
|
Alternatively the output can be sent to a file using
|
|
-XX:PrintIdealGraphFile=filename. Each compiler thread will get it's
|
|
own file with unique names being generated by adding a number onto the
|
|
provided file name.
|
|
|
|
More information about the tool is available at
|
|
http://wikis.sun.com/display/HotSpotInternals/IdealGraphVisualizer.
|