annotate agent/doc/ReadMe-JavaScript.text @ 17662:695a6aba51c3

8033545: Missing volatile specifier in Bitmap::par_put_range_within_word Summary: The method Bitmap::par_put_range_within_word reloads the original value during a CAS, which may be optimized away. Instead of reloading, use the value returned by Atomic::cmpxchg_ptr() for further processing. Reviewed-by: tschatzl, brutisso, tonyp Contributed-by: Matthias Braun <matthia.braun@sap.com>
author tschatzl
date Mon, 10 Feb 2014 10:34:52 +0100
parents a61af66fc99e
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
a61af66fc99e Initial load
duke
parents:
diff changeset
1 The HotSpot Serviceability Agent (SA) is a debugger for hotspot core
a61af66fc99e Initial load
duke
parents:
diff changeset
2 dumps and hung processes. There is a read-only JDI (Java Debugger
a61af66fc99e Initial load
duke
parents:
diff changeset
3 Interface) implementation on top of SA. This is part of JDK product and
a61af66fc99e Initial load
duke
parents:
diff changeset
4 the classes are in $JDK/tools/sa-jdi.jar.
a61af66fc99e Initial load
duke
parents:
diff changeset
5
a61af66fc99e Initial load
duke
parents:
diff changeset
6 In addition, there are few serviceability tools in $JDK/bin, namely,
a61af66fc99e Initial load
duke
parents:
diff changeset
7 jstack (java stack trace tool), jmap (heap tool), jinfo (Java config
a61af66fc99e Initial load
duke
parents:
diff changeset
8 tool) and jsadebugd. The classes for these are also in sa-jdi.jar
a61af66fc99e Initial load
duke
parents:
diff changeset
9 file. sa-jdi.jar file is built along with hotspot (libjvm.so) on Solaris
a61af66fc99e Initial load
duke
parents:
diff changeset
10 and Linux platforms. On Windows platform, SA-JDI is not included and
a61af66fc99e Initial load
duke
parents:
diff changeset
11 serviceability tools do not use SA.
a61af66fc99e Initial load
duke
parents:
diff changeset
12
a61af66fc99e Initial load
duke
parents:
diff changeset
13 Apart from these, HotSpot SA consists of a number of tools that are
a61af66fc99e Initial load
duke
parents:
diff changeset
14 *not* included in JDK product bits.
a61af66fc99e Initial load
duke
parents:
diff changeset
15
a61af66fc99e Initial load
duke
parents:
diff changeset
16 The sources and makefile for all-of-SA (including non-productized stuff)
a61af66fc99e Initial load
duke
parents:
diff changeset
17 are under $HOTSPOT_WS/agent directory. The makefile $HOTSPOT/agent/make
a61af66fc99e Initial load
duke
parents:
diff changeset
18 directory and shell scripts (and batch files) are used to build and run
a61af66fc99e Initial load
duke
parents:
diff changeset
19 SA non-product tools. There is also documentation of SA under
a61af66fc99e Initial load
duke
parents:
diff changeset
20 $HOTSPOT/agent/doc directory.
a61af66fc99e Initial load
duke
parents:
diff changeset
21
a61af66fc99e Initial load
duke
parents:
diff changeset
22 To build complete SA, you need to have Rhino Mozilla jar (js.jar)
a61af66fc99e Initial load
duke
parents:
diff changeset
23 version 1.5R5 under $HOTSPOT/agent/src/share/lib directory. Rhino is
a61af66fc99e Initial load
duke
parents:
diff changeset
24 JavaScript interpreter written in Java. Rhino is used to implement SA
a61af66fc99e Initial load
duke
parents:
diff changeset
25 features such as
a61af66fc99e Initial load
duke
parents:
diff changeset
26
a61af66fc99e Initial load
duke
parents:
diff changeset
27 * SA command line debugger's JavaScript interface
a61af66fc99e Initial load
duke
parents:
diff changeset
28 - refer to $HOTSPOT/agent/doc/clhsdb.html
a61af66fc99e Initial load
duke
parents:
diff changeset
29 - refer to $HOTSPOT/agent/doc/jsdb.html
a61af66fc99e Initial load
duke
parents:
diff changeset
30 * SA simple object query language (SOQL)
a61af66fc99e Initial load
duke
parents:
diff changeset
31 - language to query Java heap.
a61af66fc99e Initial load
duke
parents:
diff changeset
32
a61af66fc99e Initial load
duke
parents:
diff changeset
33 Rhino's "js.jar" is not included in hotspot source bundles. You need to
a61af66fc99e Initial load
duke
parents:
diff changeset
34 download it from http://www.mozilla.org/rhino/download.html.
a61af66fc99e Initial load
duke
parents:
diff changeset
35
a61af66fc99e Initial load
duke
parents:
diff changeset
36 Without js.jar, $HOTSPOT/agent/make/Makefile will fail to build. But,
a61af66fc99e Initial load
duke
parents:
diff changeset
37 note that sa-jdi.jar containing the productized portions of SA will
a61af66fc99e Initial load
duke
parents:
diff changeset
38 still be built when you build hotspot JVM.