src/share/tools/IdealGraphVisualizer/README

Tue, 08 Aug 2017 15:57:29 +0800

author
aoqi
date
Tue, 08 Aug 2017 15:57:29 +0800
changeset 6876
710a3c8b516e
parent 852
f4fe12e429a4
parent 0
f90c822e73f8
permissions
-rw-r--r--

merge

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

mercurial