Mercurial > hg > graal-compiler
view src/share/tools/IdealGraphVisualizer/README @ 1705:2d160770d2e5
6814437: G1: remove the _new_refs array
Summary: The per-worker _new_refs array is used to hold references that point into the collection set. It is populated during RSet updating and subsequently processed. In the event of an evacuation failure it processed again to recreate the RSets of regions in the collection set. Remove the per-worker _new_refs array by processing the references directly. Use a DirtyCardQueue to hold the cards containing the references so that the RSets of regions in the collection set can be recreated when handling an evacuation failure.
Reviewed-by: iveresov, jmasa, tonyp
author | johnc |
---|---|
date | Mon, 02 Aug 2010 12:51:43 -0700 |
parents | f4fe12e429a4 |
children | 2fd52cd64156 |
line wrap: on
line source
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.