src/share/tools/IdealGraphVisualizer/README

changeset 657
2a1a77d3458f
child 852
f4fe12e429a4
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/src/share/tools/IdealGraphVisualizer/README	Tue Jun 24 16:00:14 2008 -0700
     1.3 @@ -0,0 +1,45 @@
     1.4 +The Ideal Graph Visualizer is a tool developed to help examine the
     1.5 +intermediate representation of C2 which is commonly referred to as the
     1.6 +"ideal graph".  It was developed in collaboration with the University
     1.7 +of Linz in Austria and has been included as part of hotspot since that
     1.8 +was the primary target of the tool.  The tool itself is fairly general
     1.9 +with only a few modules that contain C2 specific elements.
    1.10 +
    1.11 +The tool is built on top of the NetBeans 6.0 rich client
    1.12 +infrastructure and so requires NetBeans to build.  It currently
    1.13 +requires Java 6 to run as it needs support for JavaScript for its
    1.14 +filtering mechanism and assumes it's built into the platform.  It
    1.15 +should build out of the box whit NetBeans 6 and Java 6 or later.  It's
    1.16 +possible to run it on 1.5 by including Rhino on the classpath though
    1.17 +that currently isn't working correctly.  Support for exporting graphs
    1.18 +as SVG can be enabled by adding batik to the classpath which isn't
    1.19 +included by default.
    1.20 +
    1.21 +It can be built on top of NetBeans 6.1 if you change the required
    1.22 +modules to be platform8 instead of platform7.  The tool could run on
    1.23 +JDK 1.5 with some reworking of the how the JavaScript support is
    1.24 +enabled but currently it requires some tweaking of the setup.  This
    1.25 +will be fixed in a later setup.
    1.26 +
    1.27 +The JVM support is controlled by the flag -XX:PrintIdealGraphLevel=#
    1.28 +where # is:
    1.29 +
    1.30 +  0: no output, the default
    1.31 +  1: dumps graph after parsing, before matching, and final code.
    1.32 +     also dumps graph for failed compiles, if available
    1.33 +  2: more detail, including after loop opts
    1.34 +  3: even more detail
    1.35 +  4: prints graph after parsing every bytecode (very slow)
    1.36 +
    1.37 +By default the JVM expects that it will connect to a visualizer on the
    1.38 +local host on port 4444.  This can be configured using the options
    1.39 +-XX:PrintIdealGraphAddress= and -XX:PrintIdealGraphPort=.
    1.40 +PrintIdealGraphAddress can actually be a hostname.
    1.41 +
    1.42 +Alternatively the output can be sent to a file using
    1.43 +-XX:PrintIdealGraphFile=filename.  Each compiler thread will get it's
    1.44 +own file with unique names being generated by adding a number onto the
    1.45 +provided file name.
    1.46 +
    1.47 +More information about the tool is available at
    1.48 +http://wikis.sun.com/display/HotSpotInternals/IdealGraphVisualizer.

mercurial