src/share/tools/IdealGraphVisualizer/README

Tue, 24 Jun 2008 16:00:14 -0700

author
never
date
Tue, 24 Jun 2008 16:00:14 -0700
changeset 657
2a1a77d3458f
child 852
f4fe12e429a4
permissions
-rw-r--r--

6718676: putback for 6604014 is incomplete
Reviewed-by: kvn, jrose

never@657 1 The Ideal Graph Visualizer is a tool developed to help examine the
never@657 2 intermediate representation of C2 which is commonly referred to as the
never@657 3 "ideal graph". It was developed in collaboration with the University
never@657 4 of Linz in Austria and has been included as part of hotspot since that
never@657 5 was the primary target of the tool. The tool itself is fairly general
never@657 6 with only a few modules that contain C2 specific elements.
never@657 7
never@657 8 The tool is built on top of the NetBeans 6.0 rich client
never@657 9 infrastructure and so requires NetBeans to build. It currently
never@657 10 requires Java 6 to run as it needs support for JavaScript for its
never@657 11 filtering mechanism and assumes it's built into the platform. It
never@657 12 should build out of the box whit NetBeans 6 and Java 6 or later. It's
never@657 13 possible to run it on 1.5 by including Rhino on the classpath though
never@657 14 that currently isn't working correctly. Support for exporting graphs
never@657 15 as SVG can be enabled by adding batik to the classpath which isn't
never@657 16 included by default.
never@657 17
never@657 18 It can be built on top of NetBeans 6.1 if you change the required
never@657 19 modules to be platform8 instead of platform7. The tool could run on
never@657 20 JDK 1.5 with some reworking of the how the JavaScript support is
never@657 21 enabled but currently it requires some tweaking of the setup. This
never@657 22 will be fixed in a later setup.
never@657 23
never@657 24 The JVM support is controlled by the flag -XX:PrintIdealGraphLevel=#
never@657 25 where # is:
never@657 26
never@657 27 0: no output, the default
never@657 28 1: dumps graph after parsing, before matching, and final code.
never@657 29 also dumps graph for failed compiles, if available
never@657 30 2: more detail, including after loop opts
never@657 31 3: even more detail
never@657 32 4: prints graph after parsing every bytecode (very slow)
never@657 33
never@657 34 By default the JVM expects that it will connect to a visualizer on the
never@657 35 local host on port 4444. This can be configured using the options
never@657 36 -XX:PrintIdealGraphAddress= and -XX:PrintIdealGraphPort=.
never@657 37 PrintIdealGraphAddress can actually be a hostname.
never@657 38
never@657 39 Alternatively the output can be sent to a file using
never@657 40 -XX:PrintIdealGraphFile=filename. Each compiler thread will get it's
never@657 41 own file with unique names being generated by adding a number onto the
never@657 42 provided file name.
never@657 43
never@657 44 More information about the tool is available at
never@657 45 http://wikis.sun.com/display/HotSpotInternals/IdealGraphVisualizer.

mercurial