annotate src/share/tools/IdealGraphVisualizer/README @ 17716:cdb71841f4bc

6498581: ThreadInterruptTest3 produces wrong output on Windows Summary: There is race condition between os::interrupt and os::is_interrupted on Windows. In JVM_Sleep(Thread.sleep), check if thread gets interrupted, it may see interrupted but not really interrupted so cause spurious waking up (early return from sleep). Fix by checking if interrupt event really gets set thus prevent false return. For intrinsic of _isInterrupted, on Windows, go fastpath only on bit not set. Reviewed-by: acorn, kvn Contributed-by: david.holmes@oracle.com, yumin.qi@oracle.com
author minqi
date Wed, 26 Feb 2014 15:20:41 -0800
parents f4fe12e429a4
children 2fd52cd64156
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
222
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
1 The Ideal Graph Visualizer is a tool developed to help examine the
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
2 intermediate representation of C2 which is commonly referred to as the
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
3 "ideal graph". It was developed in collaboration with the University
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
4 of Linz in Austria and has been included as part of hotspot since that
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
5 was the primary target of the tool. The tool itself is fairly general
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
6 with only a few modules that contain C2 specific elements.
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
7
417
f4fe12e429a4 6764622: IdealGraphVisualizer fixes
never
parents: 222
diff changeset
8 The tool is built on top of the NetBeans 6.1 rich client
222
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
9 infrastructure and so requires NetBeans to build. It currently
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
10 requires Java 6 to run as it needs support for JavaScript for its
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
11 filtering mechanism and assumes it's built into the platform. It
417
f4fe12e429a4 6764622: IdealGraphVisualizer fixes
never
parents: 222
diff changeset
12 should build out of the box with NetBeans 6.1 and Java 6 or later.
f4fe12e429a4 6764622: IdealGraphVisualizer fixes
never
parents: 222
diff changeset
13 It's possible to run it on 1.5 by including Rhino on the classpath
f4fe12e429a4 6764622: IdealGraphVisualizer fixes
never
parents: 222
diff changeset
14 though that currently isn't working correctly. Support for exporting
f4fe12e429a4 6764622: IdealGraphVisualizer fixes
never
parents: 222
diff changeset
15 graphs as SVG can be enabled by adding batik to the classpath which
f4fe12e429a4 6764622: IdealGraphVisualizer fixes
never
parents: 222
diff changeset
16 isn't included by default. It can be built on top of NetBeans 6.0 if
f4fe12e429a4 6764622: IdealGraphVisualizer fixes
never
parents: 222
diff changeset
17 you change the required modules to be platform7 instead of platform8.
222
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
18
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
19 The JVM support is controlled by the flag -XX:PrintIdealGraphLevel=#
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
20 where # is:
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
21
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
22 0: no output, the default
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
23 1: dumps graph after parsing, before matching, and final code.
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
24 also dumps graph for failed compiles, if available
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
25 2: more detail, including after loop opts
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
26 3: even more detail
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
27 4: prints graph after parsing every bytecode (very slow)
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
28
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
29 By default the JVM expects that it will connect to a visualizer on the
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
30 local host on port 4444. This can be configured using the options
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
31 -XX:PrintIdealGraphAddress= and -XX:PrintIdealGraphPort=.
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
32 PrintIdealGraphAddress can actually be a hostname.
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
33
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
34 Alternatively the output can be sent to a file using
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
35 -XX:PrintIdealGraphFile=filename. Each compiler thread will get it's
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
36 own file with unique names being generated by adding a number onto the
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
37 provided file name.
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
38
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
39 More information about the tool is available at
2a1a77d3458f 6718676: putback for 6604014 is incomplete
never
parents:
diff changeset
40 http://wikis.sun.com/display/HotSpotInternals/IdealGraphVisualizer.