jdk/src/jdk.hprof.agent/share/native/libhprof/manual.html
changeset 32249 ba2c9c7773b6
parent 32248 13967da712ff
parent 32247 9f3dd33507b9
child 32253 637b00638ed6
equal deleted inserted replaced
32248:13967da712ff 32249:ba2c9c7773b6
     1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
       
     2 <html>
       
     3 <head>
       
     4   <meta content="deepa viswanathan" name="Author">
       
     5   <meta content="Mozilla/4.04 [en] (WinNT; U) [Netscape]"
       
     6  name="GENERATOR">
       
     7   <title>HPROF Agent</title>
       
     8   <meta name="author" content="Kelly O'Hair">
       
     9 </head>
       
    10 <body alink="#ff0000" bgcolor="#ffffff" link="#0000ee" text="#000000"
       
    11  vlink="#551a8b">
       
    12 <h1 style="text-align: center;"><a name="mozTocId137594"
       
    13  class="mozTocH1"></a><span style="font-weight: bold;"></span>HPROF
       
    14 Agent<br>
       
    15 </h1>
       
    16 <h2><a name="mozTocId558923" class="mozTocH2"></a>Contents</h2>
       
    17 <span style="text-decoration: underline;"></span>
       
    18 <ol id="mozToc">
       
    19 <!--mozToc h1 1 h2 2 h3 3 h4 4 h5 5 h6 6--><li><a href="#mozTocId137594">HPROF
       
    20 Agent</a>
       
    21     <ol>
       
    22       <li><a href="#mozTocId558923">Contents</a></li>
       
    23       <li><a href="#mozTocId550204">Overview</a></li>
       
    24       <li><a href="#mozTocId634758">Start-up</a></li>
       
    25       <li><a href="#mozTocId708821">Heap Allocation
       
    26 Profiles (heap=sites) </a></li>
       
    27       <li><a href="#mozTocId634725">Heap Dump (heap=dump)</a></li>
       
    28       <li><a href="#mozTocId546448">CPU Usage Sampling
       
    29 Profiles (cpu=samples) </a></li>
       
    30       <li><a href="#mozTocId116568">CPU Usage Times Profile (cpu=times)
       
    31         </a></li>
       
    32       <li><a href="#mozTocId848088">Binary Dump Format
       
    33 (format=b)</a>
       
    34         <ol>
       
    35           <li><a href="#mozTocId348369">Socket Connection and
       
    36 Communication</a></li>
       
    37         </ol>
       
    38         <ol>
       
    39           <li><a href="#mozTocId348360">Handling of Arrays</a></li>
       
    40         </ol>
       
    41       </li>
       
    42       <li><a href="#mozTocId589424">Source Code </a></li>
       
    43     </ol>
       
    44   </li>
       
    45 </ol>
       
    46 <span style="text-decoration: underline;"></span>
       
    47 <h2><a name="mozTocId550204" class="mozTocH2"></a>Overview</h2>
       
    48 <p>This document describes the JVM TI Agent HPROF delivered in
       
    49 the Java Development Kit (JDK). It is intended as demonstration code
       
    50 for JVM TI, and as a functional
       
    51 replacement for the older HPROF JVMPI Agent delivered in past releases.<br>
       
    52 </p>
       
    53 Previous 1.4 and earlier releases of the JDK contained an HPROF
       
    54 agent built on the experimental JVMPI.&nbsp;
       
    55 The newer JVM TI replaces both JVMDI and JVMPI.&nbsp;&nbsp;
       
    56 <p><span style="font-weight: bold;">Note</span>: Differences between
       
    57 this HPROF implementation and the older JVMPI based HPROF are marked in
       
    58 <span style="font-style: italic; color: rgb(255, 0, 0);">RED ITALICS</span>
       
    59 throughout this document.<br>
       
    60 </p>
       
    61 <br>
       
    62 <h2><a name="mozTocId634758" class="mozTocH3"></a>Start-up</h2>
       
    63 <p>HPROF is a simple profiler agent shipped with the JDK. It is
       
    64 a dynamically-linked
       
    65 library that interacts with the JVM TI and
       
    66 writes out profiling
       
    67 information either to a file or to a socket in ascii or binary format.
       
    68 This information can
       
    69 be further processed by a profiler front-end tool.</p>
       
    70 <p>It is capable of presenting CPU usage, heap allocation statistics
       
    71 and monitor contention
       
    72 profiles. In addition it can also report complete heap dumps and states
       
    73 of all the monitors and threads in the Java virtual machine.
       
    74 </p>
       
    75 <p>HPROF can be invoked by:
       
    76 </p>
       
    77 <pre>java -<span style="font-weight: bold;">agentlib:</span><b>hprof</b> ToBeProfiledClass</pre>
       
    78 Depending on the type of profiling requested, HPROF instructs the
       
    79 virtual machine to send it the relevant JVM TI events and processes
       
    80 the event data into profiling information. For example, the following
       
    81 command obtains the heap allocation profile:
       
    82 <pre>java -agentlib:hprof=heap=sites ToBeProfiledClass</pre>
       
    83 Following is the complete list of options that can passed to hprof :
       
    84 <blockquote>
       
    85   <pre>java -agentlib:hprof=help<br><br>     HPROF: Heap and CPU Profiling Agent (JVMTI Demonstration Code)<br><br>hprof usage: java -agentlib:hprof=[help]|[&lt;option&gt;=&lt;value&gt;, ...]<br><br>Option Name and Value  Description                    Default<br>---------------------  -----------                    -------<br>heap=dump|sites|all    heap profiling                 all<br>cpu=samples|times|old  CPU usage                      off<br>monitor=y|n            monitor contention             n<br>format=a|b             text(txt) or binary output     a<br>file=&lt;file&gt;            write data to file             java.hprof[{.txt}]<br>net=&lt;host&gt;:&lt;port&gt;      send data over a socket        off<br>depth=&lt;size&gt;           stack trace depth              4<br>interval=&lt;ms&gt;          sample interval in ms          10<br>cutoff=&lt;value&gt;         output cutoff point            0.0001<br>lineno=y|n             line number in traces?         y<br>thread=y|n             thread in traces?              n<br>doe=y|n                dump on exit?                  y<br>msa=y|n                Solaris micro state accounting n<br>force=y|n              force output to &lt;file&gt;         y<br>verbose=y|n            print messages about dumps     y<br><br>Obsolete Options<br>----------------<br>gc_okay=y|n<br><br>Examples<br>--------<br>  - Get sample cpu information every 20 millisec, with a stack depth of 3:<br>      java -agentlib:hprof=cpu=samples,interval=20,depth=3 classname<br>  - Get heap usage information based on the allocation sites:<br>      java -agentlib:hprof=heap=sites classname<br><br>Notes<br>-----<br>  - The option format=b cannot be used with monitor=y.<br>  - The option format=b cannot be used with cpu=old|times.<br>  - Use of the -Xrunhprof interface can still be used, e.g.<br>       java -Xrunhprof:[help]|[&lt;option&gt;=&lt;value&gt;, ...]<br>    will behave exactly the same as:<br>       java -agentlib:hprof=[help]|[&lt;option&gt;=&lt;value&gt;, ...]<br><br>Warnings<br>--------<br>  - This is demonstration code for the JVMTI interface and use of BCI,<br>    it is not an official product or formal part of the JDK.<br>  - The -Xrunhprof interface will be removed in a future release.<br>  - The option format=b is considered experimental, this format may change<br>    in a future release.<br></pre>
       
    86 </blockquote>
       
    87 <p>By default, heap profiling information (sites and dump) is written
       
    88 out
       
    89 to java.hprof.txt (ascii).&nbsp;
       
    90 The monitor=y|n option has proven to be problematic and may be replaced
       
    91 with something more useful.<br>
       
    92 </p>
       
    93 <p>The output in most cases will contain ID's for traces, threads,
       
    94 objects, etc.&nbsp; Each type of ID will typically start with a
       
    95 different number than the other ID's, e.g. traces might start with
       
    96 300000.<br>
       
    97 </p>
       
    98 <p><span style="font-weight: bold;">Note</span>: <span
       
    99  style="font-style: italic; color: rgb(255, 0, 0);">The gc_okay option
       
   100 is no longer supported.</span><br>
       
   101 </p>
       
   102 <h2><a name="mozTocId708821" class="mozTocH4"></a>Heap Allocation
       
   103 Profiles (heap=sites)<br>
       
   104 </h2>
       
   105 Following is the heap allocation profile generated by running the Java
       
   106 compiler
       
   107 (<code>javac</code>) on a set of input files. Only parts of the
       
   108 profiler output are shown here.
       
   109 <p></p>
       
   110 <pre>Command used: javac -J-agentlib:hprof=heap=sites Hello.java<br><br>SITES BEGIN (ordered by live bytes) Fri Feb  6 13:13:42 2004<br>          percent          live          alloc'ed  stack class<br> rank   self  accum     bytes objs     bytes  objs trace name<br>    1 44.13% 44.13%   1117360 13967  1117360 13967 301926 java.util.zip.ZipEntry<br>    2  8.83% 52.95%    223472 13967   223472 13967 301927 com.sun.tools.javac.util.List<br>    3  5.18% 58.13%    131088    1    131088     1 300996 byte[]<br>    4  5.18% 63.31%    131088    1    131088     1 300995 com.sun.tools.javac.util.Name[]<br>  <br></pre>
       
   111 A crucial piece of information in heap profile is the amount of
       
   112 allocation that occurs
       
   113 in various parts of the program. The <code>SITES</code> record above
       
   114 tells us that 44.13% of the total space was allocated for
       
   115 java.util.zip.ZipEntry objects. Note that the amount of live data is
       
   116 only a fraction
       
   117 of the total allocation that has occurred at a given site; the rest has
       
   118 been garbage collected.
       
   119 <p>A good way to relate allocation sites to the source code is to
       
   120 record
       
   121 the dynamic stack traces that led to the heap allocation. Following is
       
   122 another part of the profiler output that illustrates the stack traces
       
   123 referred to by the four allocation sites in output shown above.
       
   124 <span style="font-family: monospace;"><br>
       
   125 </span></p>
       
   126 <pre><span style="font-family: monospace;"></span>TRACE 301926:<br>        java.util.zip.ZipEntry.&lt;init&gt;(ZipEntry.java:101)<br>        java.util.zip.ZipFile+3.nextElement(ZipFile.java:417)<br>        com.sun.tools.javac.jvm.ClassReader.openArchive(ClassReader.java:1374)<br>        com.sun.tools.javac.jvm.ClassReader.list(ClassReader.java:1631)<br><br>TRACE 301927:<br>        com.sun.tools.javac.util.List.&lt;init&gt;(List.java:42)<br>        com.sun.tools.javac.util.List.&lt;init&gt;(List.java:50)<br>        com.sun.tools.javac.util.ListBuffer.append(ListBuffer.java:94)<br>        com.sun.tools.javac.jvm.ClassReader.openArchive(ClassReader.java:1374)<br><br>TRACE 300996:<br>        com.sun.tools.javac.util.Name$Table.&lt;init&gt;(Name.java:379)<br>        com.sun.tools.javac.util.Name$Table.&lt;init&gt;(Name.java:481)<br>        com.sun.tools.javac.util.Name$Table.make(Name.java:332)<br>        com.sun.tools.javac.util.Name$Table.instance(Name.java:349)<br><br>TRACE 300995:<br>        com.sun.tools.javac.util.Name$Table.&lt;init&gt;(Name.java:378)<br>        com.sun.tools.javac.util.Name$Table.&lt;init&gt;(Name.java:481)<br>        com.sun.tools.javac.util.Name$Table.make(Name.java:332)<br>        com.sun.tools.javac.util.Name$Table.instance(Name.java:349)<init><init><init><br></init></init></init></pre>
       
   127 <blockquote></blockquote>
       
   128 <p>
       
   129 Each frame in the stack trace contains class name, method name, source
       
   130 file name, and the line number. The user can set the maximum number
       
   131 of frames collected by the HPROF agent. The default limit is 4. Stack
       
   132 traces reveal not only which methods performed heap allocation, but
       
   133 also which methods were ultimately responsible for making calls that
       
   134 resulted in memory allocation. <br>
       
   135 </p>
       
   136 <h2><a name="mozTocId634725" class="mozTocH2"></a>Heap Dump (heap=dump)</h2>
       
   137 A complete dump of the current live objects in the heap can be obtained
       
   138 with:<br>
       
   139 <pre>Command used: javac -J-agentlib:hprof=heap=dump Hello.java<br></pre>
       
   140 This is a very large output file, but can be viewed and searched in any
       
   141 editor.<br>
       
   142 <br>
       
   143 <h2><a name="mozTocId546448" class="mozTocH4"></a>CPU Usage Sampling
       
   144 Profiles (cpu=samples)<br>
       
   145 </h2>
       
   146 HPROF can collect CPU usage information by sampling threads. Following
       
   147 is part of the output collected from a run
       
   148 of the <code>javac</code> compiler.
       
   149 <p></p>
       
   150 <pre>Command used: javac -J-agentlib:hprof=cpu=samples Hello.java<br><br>CPU SAMPLES BEGIN (total = 462) Fri Feb  6 13:33:07 2004<br>rank   self  accum   count trace method<br>   1 49.57% 49.57%     229 300187 java.util.zip.ZipFile.getNextEntry<br>   2  6.93% 56.49%      32 300190 java.util.zip.ZipEntry.initFields<br>   3  4.76% 61.26%      22 300122 java.lang.ClassLoader.defineClass2<br>   4  2.81% 64.07%      13 300188 java.util.zip.ZipFile.freeEntry<br>   5  1.95% 66.02%       9 300129 java.util.Vector.addElement<br>   6  1.73% 67.75%       8 300124 java.util.zip.ZipFile.getEntry<br>   7  1.52% 69.26%       7 300125 java.lang.ClassLoader.findBootstrapClass<br>   8  0.87% 70.13%       4 300172 com.sun.tools.javac.main.JavaCompiler.&lt;init&gt;<br>   9  0.65% 70.78%       3 300030 java.util.zip.ZipFile.open<br>  10  0.65% 71.43%       3 300175 com.sun.tools.javac.main.JavaCompiler.&lt;init&gt;<br><init>
       
   151 ...
       
   152 CPU SAMPLES END
       
   153 </init></pre>
       
   154 <blockquote>
       
   155 </blockquote>
       
   156 <p>
       
   157 The HPROF agent periodically samples the stack of all running threads
       
   158 to record the most frequently active stack traces. The <code>count</code>
       
   159 field above indicates how many times a particular stack trace was found
       
   160 to be active. These stack traces correspond to the CPU usage hot spots
       
   161 in the application.<br>
       
   162 </p>
       
   163 <h2><a name="mozTocId116568" class="mozTocH2"></a>CPU Usage Times
       
   164 Profile (cpu=times)<br>
       
   165 </h2>
       
   166 HPROF can collect CPU usage information by injecting code into every
       
   167 method entry and exit, keeping track of exact method call counts and
       
   168 the time spent in each method. This uses Byte Code Injection (BCI) and
       
   169 runs considerably slower than cpu=samples. Following is part of the
       
   170 output collected from a run
       
   171 of the <code>javac</code> compiler.
       
   172 <p></p>
       
   173 <pre>Command used: javac -J-agentlib:hprof=cpu=times Hello.java<br><br>CPU TIME (ms) BEGIN (total = 2082665289) Fri Feb  6 13:43:42 2004<br>rank   self  accum   count trace method<br>   1  3.70%  3.70%       1 311243 com.sun.tools.javac.Main.compile<br>   2  3.64%  7.34%       1 311242 com.sun.tools.javac.main.Main.compile<br>   3  3.64% 10.97%       1 311241 com.sun.tools.javac.main.Main.compile<br>   4  3.11% 14.08%       1 311173 com.sun.tools.javac.main.JavaCompiler.compile<br>   5  2.54% 16.62%       8 306183 com.sun.tools.javac.jvm.ClassReader.listAll<br>   6  2.53% 19.15%      36 306182 com.sun.tools.javac.jvm.ClassReader.list<br>   7  2.03% 21.18%       1 307195 com.sun.tools.javac.comp.Enter.main<br>   8  2.03% 23.21%       1 307194 com.sun.tools.javac.comp.Enter.complete<br>   9  1.68% 24.90%       1 306392 com.sun.tools.javac.comp.Enter.classEnter<br>  10  1.68% 26.58%       1 306388 com.sun.tools.javac.comp.Enter.classEnter<br><br>...<br>CPU TIME (ms) END</pre>
       
   174 Here the count represents the true count of the times this method was
       
   175 entered, and the percentages represent a measure of thread CPU time
       
   176 spent in those methods.<br>
       
   177 <br>
       
   178 <h2><a class="mozTocH3" name="mozTocId848088"></a>Binary Dump Format
       
   179 (format=b)</h2>
       
   180 The basic fields in the binary output are u1 (1 byte), u2 (2 byte), u4
       
   181 (4 byte), and u8 (8 byte). An ID in this implementation is a u4,
       
   182 however the size of an ID is really determined by the "size of
       
   183 identifiers" field in the header.<br>
       
   184 <br>
       
   185 <span style="font-weight: bold;">WARNING</span>: This format is still
       
   186 considered highly experimental, however, all attempts were made to
       
   187 match the format of past HPROF implementations.<br>
       
   188 <br>
       
   189 The binary output begins with the information:<br>
       
   190 <br>
       
   191 <table style="text-align: left; width: 100%; height: 124px;" border="1"
       
   192  cellpadding="2" cellspacing="2">
       
   193   <tbody>
       
   194     <tr>
       
   195       <td style="vertical-align: top;">[u1]*<br>
       
   196       </td>
       
   197       <td style="vertical-align: top;">An initial NULL terminated
       
   198 series of bytes representing the format name and version, in this
       
   199 implementation and historically, the string "JAVA PROFILE 1.0.1" (18
       
   200 u1 bytes) followed by a NULL byte. If the TAG "HEAP DUMP SEGMENT" is
       
   201 used this string will be "JAVA PROFILE 1.0.2". </td>
       
   202     </tr>
       
   203     <tr>
       
   204       <td style="vertical-align: top;">u4<br>
       
   205       </td>
       
   206       <td style="vertical-align: top;">size of identifiers. Identifiers
       
   207 are used to represent UTF8 strings, objects, stack traces, etc. They
       
   208 can have the same size as host pointers or sizeof(void*), but are not
       
   209 required to be.<span style="color: rgb(0, 0, 0);"></span></td>
       
   210     </tr>
       
   211     <tr>
       
   212       <td style="vertical-align: top;">u4<br>
       
   213       </td>
       
   214       <td style="vertical-align: top;">high word of number of
       
   215 milliseconds since 0:00 GMT, 1/1/70</td>
       
   216     </tr>
       
   217     <tr>
       
   218       <td style="vertical-align: top;">u4<br>
       
   219       </td>
       
   220       <td style="vertical-align: top;">low word of number of
       
   221 milliseconds since 0:00 GMT, 1/1/70</td>
       
   222     </tr>
       
   223   </tbody>
       
   224 </table>
       
   225 <br>
       
   226 Followed by a se<span style="font-family: monospace;"></span>quence of
       
   227 records that look like:<br>
       
   228 <br>
       
   229 <table style="text-align: left; width: 100%;" border="1" cellpadding="2"
       
   230  cellspacing="2">
       
   231   <tbody>
       
   232     <tr>
       
   233       <td style="vertical-align: top;">u1<br>
       
   234       </td>
       
   235       <td style="vertical-align: top;">TAG: denoting the type of the
       
   236 record</td>
       
   237     </tr>
       
   238     <tr>
       
   239       <td style="vertical-align: top;">u4<br>
       
   240       </td>
       
   241       <td style="vertical-align: top;">TIME: number of microseconds
       
   242 since the
       
   243 time stamp in the header<br>
       
   244       </td>
       
   245     </tr>
       
   246     <tr>
       
   247       <td style="vertical-align: top;">u4<br>
       
   248       </td>
       
   249       <td style="vertical-align: top;">LENGTH: number of bytes that
       
   250 follow this
       
   251 u4 field and belong to this record<br>
       
   252       </td>
       
   253     </tr>
       
   254     <tr>
       
   255       <td style="vertical-align: top;">[u1]*<br>
       
   256       </td>
       
   257       <td style="vertical-align: top;">BODY: as many bytes as specified
       
   258 in
       
   259 the above u4 field<br>
       
   260       </td>
       
   261     </tr>
       
   262   </tbody>
       
   263 </table>
       
   264 <br>
       
   265 <br>
       
   266 The following TAGs are supported:<br>
       
   267 <br>
       
   268 <table style="text-align: left; width: 100%;" border="1" cellpadding="2"
       
   269  cellspacing="2">
       
   270   <tbody>
       
   271     <tr>
       
   272       <td style="vertical-align: top;">STRING IN UTF8<br>
       
   273       </td>
       
   274       <td style="vertical-align: top;">0x01<br>
       
   275       </td>
       
   276       <td style="vertical-align: top;">
       
   277       <table style="text-align: left; width: 100%;" border="1"
       
   278  cellpadding="2" cellspacing="2">
       
   279         <tbody>
       
   280           <tr>
       
   281             <td style="vertical-align: top;">ID<br>
       
   282             </td>
       
   283             <td style="vertical-align: top;">ID for this string<br>
       
   284             </td>
       
   285           </tr>
       
   286           <tr>
       
   287             <td style="vertical-align: top;">[u1]*<br>
       
   288             </td>
       
   289             <td style="vertical-align: top;">UTF8 characters for string
       
   290 (NOT NULL terminated)<br>
       
   291             </td>
       
   292           </tr>
       
   293         </tbody>
       
   294       </table>
       
   295       <br>
       
   296       </td>
       
   297     </tr>
       
   298     <tr>
       
   299       <td style="vertical-align: top;">LOAD CLASS<br>
       
   300       </td>
       
   301       <td style="vertical-align: top;">0x02<br>
       
   302       </td>
       
   303       <td style="vertical-align: top;">
       
   304       <table style="text-align: left; width: 100%;" border="1"
       
   305  cellpadding="2" cellspacing="2">
       
   306         <tbody>
       
   307           <tr>
       
   308             <td style="vertical-align: top;">u4<br>
       
   309             </td>
       
   310             <td style="vertical-align: top;">class serial number
       
   311 (always &gt; 0)<br>
       
   312             </td>
       
   313           </tr>
       
   314           <tr>
       
   315             <td style="vertical-align: top;">ID<br>
       
   316             </td>
       
   317             <td style="vertical-align: top;">class object ID<br>
       
   318             </td>
       
   319           </tr>
       
   320           <tr>
       
   321             <td style="vertical-align: top;">u4<br>
       
   322             </td>
       
   323             <td style="vertical-align: top;">stack trace serial number<br>
       
   324             </td>
       
   325           </tr>
       
   326           <tr>
       
   327             <td style="vertical-align: top;">ID<br>
       
   328             </td>
       
   329             <td style="vertical-align: top;">class name string ID<br>
       
   330             </td>
       
   331           </tr>
       
   332         </tbody>
       
   333       </table>
       
   334       <br>
       
   335       </td>
       
   336     </tr>
       
   337     <tr>
       
   338       <td style="vertical-align: top;">UNLOAD CLASS<br>
       
   339       </td>
       
   340       <td style="vertical-align: top;">0x03<br>
       
   341       </td>
       
   342       <td style="vertical-align: top;">
       
   343       <table style="text-align: left; width: 100%;" border="1"
       
   344  cellpadding="2" cellspacing="2">
       
   345         <tbody>
       
   346           <tr>
       
   347             <td style="vertical-align: top;">u4<br>
       
   348             </td>
       
   349             <td style="vertical-align: top;">class serial number<br>
       
   350             </td>
       
   351           </tr>
       
   352         </tbody>
       
   353       </table>
       
   354       <br>
       
   355       </td>
       
   356     </tr>
       
   357     <tr>
       
   358       <td style="vertical-align: top;">STACK FRAME<br>
       
   359       </td>
       
   360       <td style="vertical-align: top;">0x04<br>
       
   361       </td>
       
   362       <td style="vertical-align: top;">
       
   363       <table style="text-align: left; width: 100%;" border="1"
       
   364  cellpadding="2" cellspacing="2">
       
   365         <tbody>
       
   366           <tr>
       
   367             <td style="vertical-align: top;">ID<br>
       
   368             </td>
       
   369             <td style="vertical-align: top;">stack frame ID<br>
       
   370             </td>
       
   371           </tr>
       
   372           <tr>
       
   373             <td style="vertical-align: top;">ID<br>
       
   374             </td>
       
   375             <td style="vertical-align: top;">method name string ID<br>
       
   376             </td>
       
   377           </tr>
       
   378           <tr>
       
   379             <td style="vertical-align: top;">ID<br>
       
   380             </td>
       
   381             <td style="vertical-align: top;">method signature string ID<br>
       
   382             </td>
       
   383           </tr>
       
   384           <tr>
       
   385             <td style="vertical-align: top;">ID<br>
       
   386             </td>
       
   387             <td style="vertical-align: top;">source file name string ID<br>
       
   388             </td>
       
   389           </tr>
       
   390           <tr>
       
   391             <td style="vertical-align: top;">u4<br>
       
   392             </td>
       
   393             <td style="vertical-align: top;">class serial number<br>
       
   394             </td>
       
   395           </tr>
       
   396           <tr>
       
   397             <td style="vertical-align: top;">u4<br>
       
   398             </td>
       
   399             <td style="vertical-align: top;">
       
   400             <table style="text-align: left; width: 100%;" border="1"
       
   401  cellpadding="2" cellspacing="2">
       
   402               <tbody>
       
   403                 <tr>
       
   404                   <td style="vertical-align: top;">&gt; 0<br>
       
   405                   </td>
       
   406                   <td style="vertical-align: top;">line number<br>
       
   407                   </td>
       
   408                 </tr>
       
   409                 <tr>
       
   410                   <td style="vertical-align: top;">0<br>
       
   411                   </td>
       
   412                   <td style="vertical-align: top;">no line information
       
   413 available<br>
       
   414                   </td>
       
   415                 </tr>
       
   416                 <tr>
       
   417                   <td style="vertical-align: top;">-1<br>
       
   418                   </td>
       
   419                   <td style="vertical-align: top;">unknown location<br>
       
   420                   </td>
       
   421                 </tr>
       
   422                 <tr>
       
   423                   <td style="vertical-align: top;">-2<br>
       
   424                   </td>
       
   425                   <td style="vertical-align: top;">compiled method (<span
       
   426  style="font-style: italic; color: rgb(255, 0, 0);">Not implemented</span>)<br>
       
   427                   </td>
       
   428                 </tr>
       
   429                 <tr>
       
   430                   <td style="vertical-align: top;">-3<br>
       
   431                   </td>
       
   432                   <td style="vertical-align: top;">native method (<span
       
   433  style="color: rgb(255, 0, 0); font-style: italic;">Not implemented</span>)<br>
       
   434                   </td>
       
   435                 </tr>
       
   436               </tbody>
       
   437             </table>
       
   438             <br>
       
   439             </td>
       
   440           </tr>
       
   441         </tbody>
       
   442       </table>
       
   443       <br>
       
   444       </td>
       
   445     </tr>
       
   446     <tr>
       
   447       <td style="vertical-align: top;">STACK TRACE<br>
       
   448       </td>
       
   449       <td style="vertical-align: top;">0x05<br>
       
   450       </td>
       
   451       <td style="vertical-align: top;">
       
   452       <table style="text-align: left; width: 100%;" border="1"
       
   453  cellpadding="2" cellspacing="2">
       
   454         <tbody>
       
   455           <tr>
       
   456             <td style="vertical-align: top;">u4<br>
       
   457             </td>
       
   458             <td style="vertical-align: top;">stack trace serial number<br>
       
   459             </td>
       
   460           </tr>
       
   461           <tr>
       
   462             <td style="vertical-align: top;">u4<br>
       
   463             </td>
       
   464             <td style="vertical-align: top;">thread serial number<br>
       
   465             </td>
       
   466           </tr>
       
   467           <tr>
       
   468             <td style="vertical-align: top;">u4<br>
       
   469             </td>
       
   470             <td style="vertical-align: top;">number of frames<br>
       
   471             </td>
       
   472           </tr>
       
   473           <tr>
       
   474             <td style="vertical-align: top;">[ID]*<br>
       
   475             </td>
       
   476             <td style="vertical-align: top;">series of stack frame ID's<br>
       
   477             </td>
       
   478           </tr>
       
   479         </tbody>
       
   480       </table>
       
   481       <br>
       
   482       </td>
       
   483     </tr>
       
   484     <tr>
       
   485       <td style="vertical-align: top;">ALLOC SITES<br>
       
   486       </td>
       
   487       <td style="vertical-align: top;">0x06<br>
       
   488       </td>
       
   489       <td style="vertical-align: top;">
       
   490       <table style="text-align: left; width: 100%;" border="1"
       
   491  cellpadding="2" cellspacing="2">
       
   492         <tbody>
       
   493           <tr>
       
   494             <td style="vertical-align: top;">u2<br>
       
   495             </td>
       
   496             <td style="vertical-align: top;">Bit mask flags:<br>
       
   497             <table style="text-align: left; width: 441px; height: 74px;"
       
   498  border="1" cellpadding="2" cellspacing="2">
       
   499               <tbody>
       
   500                 <tr>
       
   501                   <td style="vertical-align: top;">0x1<br>
       
   502                   </td>
       
   503                   <td style="vertical-align: top;">incremental vs.
       
   504 complete<br>
       
   505                   </td>
       
   506                 </tr>
       
   507                 <tr>
       
   508                   <td style="vertical-align: top;">0x2<br>
       
   509                   </td>
       
   510                   <td style="vertical-align: top; text-align: left;">sorted
       
   511 by allocation vs. line<br>
       
   512                   </td>
       
   513                 </tr>
       
   514                 <tr>
       
   515                   <td style="vertical-align: top;">0x4<br>
       
   516                   </td>
       
   517                   <td style="vertical-align: top;">whether to force GC
       
   518 (<span style="font-style: italic; color: rgb(255, 0, 0);">Not
       
   519 Implemented</span>)<br>
       
   520                   </td>
       
   521                 </tr>
       
   522               </tbody>
       
   523             </table>
       
   524             <br>
       
   525             </td>
       
   526           </tr>
       
   527           <tr>
       
   528             <td style="vertical-align: top;">u4<br>
       
   529             </td>
       
   530             <td style="vertical-align: top;">cutoff ratio (floating
       
   531 point)<br>
       
   532             </td>
       
   533           </tr>
       
   534           <tr>
       
   535             <td style="vertical-align: top;">u4<br>
       
   536             </td>
       
   537             <td style="vertical-align: top;">total live bytes<br>
       
   538             </td>
       
   539           </tr>
       
   540           <tr>
       
   541             <td style="vertical-align: top;">u4<br>
       
   542             </td>
       
   543             <td style="vertical-align: top;">total live instances<br>
       
   544             </td>
       
   545           </tr>
       
   546           <tr>
       
   547             <td style="vertical-align: top;">u8<br>
       
   548             </td>
       
   549             <td style="vertical-align: top;">total bytes allocated<br>
       
   550             </td>
       
   551           </tr>
       
   552           <tr>
       
   553             <td style="vertical-align: top;">u8<br>
       
   554             </td>
       
   555             <td style="vertical-align: top;">total instances allocated<br>
       
   556             </td>
       
   557           </tr>
       
   558           <tr>
       
   559             <td style="vertical-align: top;">u4<br>
       
   560             </td>
       
   561             <td style="vertical-align: top;">number of sites that
       
   562 follow:<br>
       
   563             <table style="text-align: left; width: 100%;" border="1"
       
   564  cellpadding="2" cellspacing="2">
       
   565               <tbody>
       
   566                 <tr>
       
   567                   <td style="vertical-align: top;">u1<br>
       
   568                   </td>
       
   569                   <td style="vertical-align: top;">array indicator: 0
       
   570 means not an array, non-zero means an array of this type (See <a
       
   571  href="#Basic_Type">Basic Type</a>)<br>
       
   572                   </td>
       
   573                 </tr>
       
   574                 <tr>
       
   575                   <td style="vertical-align: top;">u4<br>
       
   576                   </td>
       
   577                   <td style="vertical-align: top;">class serial number<br>
       
   578                   </td>
       
   579                 </tr>
       
   580                 <tr>
       
   581                   <td style="vertical-align: top;">u4<br>
       
   582                   </td>
       
   583                   <td style="vertical-align: top;">stack trace serial
       
   584 number<br>
       
   585                   </td>
       
   586                 </tr>
       
   587                 <tr>
       
   588                   <td style="vertical-align: top;">u4<br>
       
   589                   </td>
       
   590                   <td style="vertical-align: top;">number of live bytes<br>
       
   591                   </td>
       
   592                 </tr>
       
   593                 <tr>
       
   594                   <td style="vertical-align: top;">u4<br>
       
   595                   </td>
       
   596                   <td style="vertical-align: top;">number of live
       
   597 instances<br>
       
   598                   </td>
       
   599                 </tr>
       
   600                 <tr>
       
   601                   <td style="vertical-align: top;">u4<br>
       
   602                   </td>
       
   603                   <td style="vertical-align: top;">number of bytes
       
   604 allocated<br>
       
   605                   </td>
       
   606                 </tr>
       
   607                 <tr>
       
   608                   <td style="vertical-align: top;">u4<br>
       
   609                   </td>
       
   610                   <td style="vertical-align: top;">number of instances
       
   611 allocated<br>
       
   612                   </td>
       
   613                 </tr>
       
   614               </tbody>
       
   615             </table>
       
   616             <br>
       
   617             </td>
       
   618           </tr>
       
   619         </tbody>
       
   620       </table>
       
   621       <br>
       
   622       </td>
       
   623     </tr>
       
   624     <tr>
       
   625       <td style="vertical-align: top;">HEAP SUMMARY<br>
       
   626       </td>
       
   627       <td style="vertical-align: top;">0x07<br>
       
   628       </td>
       
   629       <td style="vertical-align: top;">
       
   630       <table style="text-align: left; width: 100%;" border="1"
       
   631  cellpadding="2" cellspacing="2">
       
   632         <tbody>
       
   633           <tr>
       
   634             <td style="vertical-align: top;">u4<br>
       
   635             </td>
       
   636             <td style="vertical-align: top;">total live bytes<br>
       
   637             </td>
       
   638           </tr>
       
   639           <tr>
       
   640             <td style="vertical-align: top;">u4<br>
       
   641             </td>
       
   642             <td style="vertical-align: top;">total live instances<br>
       
   643             </td>
       
   644           </tr>
       
   645           <tr>
       
   646             <td style="vertical-align: top;">u8<br>
       
   647             </td>
       
   648             <td style="vertical-align: top;">total bytes allocated<br>
       
   649             </td>
       
   650           </tr>
       
   651           <tr>
       
   652             <td style="vertical-align: top;">u8<br>
       
   653             </td>
       
   654             <td style="vertical-align: top;">total instances allocated<br>
       
   655             </td>
       
   656           </tr>
       
   657         </tbody>
       
   658       </table>
       
   659       <br>
       
   660       </td>
       
   661     </tr>
       
   662     <tr>
       
   663       <td style="vertical-align: top;">START THREAD<br>
       
   664       </td>
       
   665       <td style="vertical-align: top;">0x0A<br>
       
   666       </td>
       
   667       <td style="vertical-align: top;">
       
   668       <table style="text-align: left; width: 100%;" border="1"
       
   669  cellpadding="2" cellspacing="2">
       
   670         <tbody>
       
   671           <tr>
       
   672             <td style="vertical-align: top;">u4<br>
       
   673             </td>
       
   674             <td style="vertical-align: top;">thread serial number<br>
       
   675             </td>
       
   676           </tr>
       
   677           <tr>
       
   678             <td style="vertical-align: top;">ID<br>
       
   679             </td>
       
   680             <td style="vertical-align: top;">thread object ID<br>
       
   681             </td>
       
   682           </tr>
       
   683           <tr>
       
   684             <td style="vertical-align: top;">u4<br>
       
   685             </td>
       
   686             <td style="vertical-align: top;">stack trace serial number<br>
       
   687             </td>
       
   688           </tr>
       
   689           <tr>
       
   690             <td style="vertical-align: top;">ID<br>
       
   691             </td>
       
   692             <td style="vertical-align: top;">thread name string ID<br>
       
   693             </td>
       
   694           </tr>
       
   695           <tr>
       
   696             <td style="vertical-align: top;">ID<br>
       
   697             </td>
       
   698             <td style="vertical-align: top;">thread group name ID<br>
       
   699             </td>
       
   700           </tr>
       
   701           <tr>
       
   702             <td style="vertical-align: top;">ID<br>
       
   703             </td>
       
   704             <td style="vertical-align: top;">thread parent group name ID<br>
       
   705             </td>
       
   706           </tr>
       
   707         </tbody>
       
   708       </table>
       
   709       <br>
       
   710       </td>
       
   711     </tr>
       
   712     <tr>
       
   713       <td style="vertical-align: top;">END THREAD<br>
       
   714       </td>
       
   715       <td style="vertical-align: top;">0x0B<br>
       
   716       </td>
       
   717       <td style="vertical-align: top;">
       
   718       <table style="text-align: left; width: 100%;" border="1"
       
   719  cellpadding="2" cellspacing="2">
       
   720         <tbody>
       
   721           <tr>
       
   722             <td style="vertical-align: top;">u4<br>
       
   723             </td>
       
   724             <td style="vertical-align: top;">thread serial number<br>
       
   725             </td>
       
   726           </tr>
       
   727         </tbody>
       
   728       </table>
       
   729       <br>
       
   730       </td>
       
   731     </tr>
       
   732     <tr>
       
   733       <td style="vertical-align: top;">HEAP DUMP<br>
       
   734       <span style="font-style: italic;">or</span><br>
       
   735 HEAP DUMP SEGMENT<br>
       
   736       </td>
       
   737       <td style="vertical-align: top;">0x0C<br>
       
   738       <span style="font-style: italic;">or</span><br>
       
   739 0x1C<br>
       
   740       </td>
       
   741       <td style="vertical-align: top;">Contains any number of sub-tags,
       
   742 each begins a u1 field (no order implied here):<br>
       
   743       <table style="text-align: left; width: 100%;" border="1"
       
   744  cellpadding="2" cellspacing="2">
       
   745         <tbody>
       
   746           <tr>
       
   747             <td style="vertical-align: top;">ROOT UNKNOWN<br>
       
   748             </td>
       
   749             <td style="vertical-align: top;">0xFF<br>
       
   750             </td>
       
   751             <td style="vertical-align: top;">
       
   752             <table style="text-align: left; width: 100%;" border="1"
       
   753  cellpadding="2" cellspacing="2">
       
   754               <tbody>
       
   755                 <tr>
       
   756                   <td style="vertical-align: top;">ID<br>
       
   757                   </td>
       
   758                   <td style="vertical-align: top;">object ID<br>
       
   759                   </td>
       
   760                 </tr>
       
   761               </tbody>
       
   762             </table>
       
   763             <br>
       
   764             </td>
       
   765           </tr>
       
   766           <tr>
       
   767             <td style="vertical-align: top;">ROOT JNI GLOBAL<br>
       
   768             </td>
       
   769             <td style="vertical-align: top;">0x01<br>
       
   770             </td>
       
   771             <td style="vertical-align: top;">
       
   772             <table style="text-align: left; width: 100%;" border="1"
       
   773  cellpadding="2" cellspacing="2">
       
   774               <tbody>
       
   775                 <tr>
       
   776                   <td style="vertical-align: top;">ID<br>
       
   777                   </td>
       
   778                   <td style="vertical-align: top;">object ID<br>
       
   779                   </td>
       
   780                 </tr>
       
   781                 <tr>
       
   782                   <td style="vertical-align: top;">ID<br>
       
   783                   </td>
       
   784                   <td style="vertical-align: top;">JNI global ref ID<br>
       
   785                   </td>
       
   786                 </tr>
       
   787               </tbody>
       
   788             </table>
       
   789             <br>
       
   790             </td>
       
   791           </tr>
       
   792           <tr>
       
   793             <td style="vertical-align: top;">ROOT JNI LOCAL<br>
       
   794             </td>
       
   795             <td style="vertical-align: top;">0x02<br>
       
   796             </td>
       
   797             <td style="vertical-align: top;">
       
   798             <table style="text-align: left; width: 100%;" border="1"
       
   799  cellpadding="2" cellspacing="2">
       
   800               <tbody>
       
   801                 <tr>
       
   802                   <td style="vertical-align: top;">ID<br>
       
   803                   </td>
       
   804                   <td style="vertical-align: top;">object ID<br>
       
   805                   </td>
       
   806                 </tr>
       
   807                 <tr>
       
   808                   <td style="vertical-align: top;">u4<br>
       
   809                   </td>
       
   810                   <td style="vertical-align: top;">thread serial number<br>
       
   811                   </td>
       
   812                 </tr>
       
   813                 <tr>
       
   814                   <td style="vertical-align: top;">u4<br>
       
   815                   </td>
       
   816                   <td style="vertical-align: top;">frame number in
       
   817 stack trace (-1 for empty)<br>
       
   818                   </td>
       
   819                 </tr>
       
   820               </tbody>
       
   821             </table>
       
   822             <br>
       
   823             </td>
       
   824           </tr>
       
   825           <tr>
       
   826             <td style="vertical-align: top;">ROOT JAVA FRAME<br>
       
   827             </td>
       
   828             <td style="vertical-align: top;">0x03<br>
       
   829             </td>
       
   830             <td style="vertical-align: top;">
       
   831             <table style="text-align: left; width: 100%;" border="1"
       
   832  cellpadding="2" cellspacing="2">
       
   833               <tbody>
       
   834                 <tr>
       
   835                   <td style="vertical-align: top;">ID<br>
       
   836                   </td>
       
   837                   <td style="vertical-align: top;">object ID<br>
       
   838                   </td>
       
   839                 </tr>
       
   840                 <tr>
       
   841                   <td style="vertical-align: top;">u4<br>
       
   842                   </td>
       
   843                   <td style="vertical-align: top;">thread serial number<br>
       
   844                   </td>
       
   845                 </tr>
       
   846                 <tr>
       
   847                   <td style="vertical-align: top;">u4<br>
       
   848                   </td>
       
   849                   <td style="vertical-align: top;">frame number in
       
   850 stack trace (-1 for empty)</td>
       
   851                 </tr>
       
   852               </tbody>
       
   853             </table>
       
   854             <br>
       
   855             </td>
       
   856           </tr>
       
   857           <tr>
       
   858             <td style="vertical-align: top;">ROOT NATIVE STACK<br>
       
   859             </td>
       
   860             <td style="vertical-align: top;">0x04<br>
       
   861             </td>
       
   862             <td style="vertical-align: top;">
       
   863             <table style="text-align: left; width: 100%;" border="1"
       
   864  cellpadding="2" cellspacing="2">
       
   865               <tbody>
       
   866                 <tr>
       
   867                   <td style="vertical-align: top;">ID<br>
       
   868                   </td>
       
   869                   <td style="vertical-align: top;">object ID<br>
       
   870                   </td>
       
   871                 </tr>
       
   872                 <tr>
       
   873                   <td style="vertical-align: top;">u4<br>
       
   874                   </td>
       
   875                   <td style="vertical-align: top;">thread serial number<br>
       
   876                   </td>
       
   877                 </tr>
       
   878               </tbody>
       
   879             </table>
       
   880             <br>
       
   881             </td>
       
   882           </tr>
       
   883           <tr>
       
   884             <td style="vertical-align: top;">ROOT STICKY CLASS<br>
       
   885             </td>
       
   886             <td style="vertical-align: top;">0x05<br>
       
   887             </td>
       
   888             <td style="vertical-align: top;">
       
   889             <table style="text-align: left; width: 100%;" border="1"
       
   890  cellpadding="2" cellspacing="2">
       
   891               <tbody>
       
   892                 <tr>
       
   893                   <td style="vertical-align: top;">ID<br>
       
   894                   </td>
       
   895                   <td style="vertical-align: top;">object ID<br>
       
   896                   </td>
       
   897                 </tr>
       
   898               </tbody>
       
   899             </table>
       
   900             <br>
       
   901             </td>
       
   902           </tr>
       
   903           <tr>
       
   904             <td style="vertical-align: top;">ROOT THREAD BLOCK<br>
       
   905             </td>
       
   906             <td style="vertical-align: top;">0x06<br>
       
   907             </td>
       
   908             <td style="vertical-align: top;">
       
   909             <table style="text-align: left; width: 100%;" border="1"
       
   910  cellpadding="2" cellspacing="2">
       
   911               <tbody>
       
   912                 <tr>
       
   913                   <td style="vertical-align: top;">ID<br>
       
   914                   </td>
       
   915                   <td style="vertical-align: top;">object ID<br>
       
   916                   </td>
       
   917                 </tr>
       
   918                 <tr>
       
   919                   <td style="vertical-align: top;">u4<br>
       
   920                   </td>
       
   921                   <td style="vertical-align: top;">thread serial number<br>
       
   922                   </td>
       
   923                 </tr>
       
   924               </tbody>
       
   925             </table>
       
   926             <br>
       
   927             </td>
       
   928           </tr>
       
   929           <tr>
       
   930             <td style="vertical-align: top;">ROOT MONITOR USED<br>
       
   931             </td>
       
   932             <td style="vertical-align: top;">0x07<br>
       
   933             </td>
       
   934             <td style="vertical-align: top;">
       
   935             <table style="text-align: left; width: 100%;" border="1"
       
   936  cellpadding="2" cellspacing="2">
       
   937               <tbody>
       
   938                 <tr>
       
   939                   <td style="vertical-align: top;">ID<br>
       
   940                   </td>
       
   941                   <td style="vertical-align: top;">object ID<br>
       
   942                   </td>
       
   943                 </tr>
       
   944               </tbody>
       
   945             </table>
       
   946             <br>
       
   947             </td>
       
   948           </tr>
       
   949           <tr>
       
   950             <td style="vertical-align: top;">ROOT THREAD OBJECT<br>
       
   951             </td>
       
   952             <td style="vertical-align: top;">0x08<br>
       
   953             </td>
       
   954             <td style="vertical-align: top;">
       
   955             <table style="text-align: left; width: 100%;" border="1"
       
   956  cellpadding="2" cellspacing="2">
       
   957               <tbody>
       
   958                 <tr>
       
   959                   <td style="vertical-align: top;">ID<br>
       
   960                   </td>
       
   961                   <td style="vertical-align: top;">thread object ID<br>
       
   962                   </td>
       
   963                 </tr>
       
   964                 <tr>
       
   965                   <td style="vertical-align: top;">u4<br>
       
   966                   </td>
       
   967                   <td style="vertical-align: top;">thread serial number<br>
       
   968                   </td>
       
   969                 </tr>
       
   970                 <tr>
       
   971                   <td style="vertical-align: top;">u4<br>
       
   972                   </td>
       
   973                   <td style="vertical-align: top;">stack trace serial
       
   974 number<br>
       
   975                   </td>
       
   976                 </tr>
       
   977               </tbody>
       
   978             </table>
       
   979             <br>
       
   980             </td>
       
   981           </tr>
       
   982           <tr>
       
   983             <td style="vertical-align: top;">CLASS DUMP<br>
       
   984             </td>
       
   985             <td style="vertical-align: top;">0x20<br>
       
   986             </td>
       
   987             <td style="vertical-align: top;">
       
   988             <table style="text-align: left; width: 100%;" border="1"
       
   989  cellpadding="2" cellspacing="2">
       
   990               <tbody>
       
   991                 <tr>
       
   992                   <td style="vertical-align: top;">ID<br>
       
   993                   </td>
       
   994                   <td style="vertical-align: top;">class object ID<br>
       
   995                   </td>
       
   996                 </tr>
       
   997                 <tr>
       
   998                   <td style="vertical-align: top;">u4<br>
       
   999                   </td>
       
  1000                   <td style="vertical-align: top;">stack trace serial
       
  1001 number<br>
       
  1002                   </td>
       
  1003                 </tr>
       
  1004                 <tr>
       
  1005                   <td style="vertical-align: top;">ID<br>
       
  1006                   </td>
       
  1007                   <td style="vertical-align: top;">super class object ID<br>
       
  1008                   </td>
       
  1009                 </tr>
       
  1010                 <tr>
       
  1011                   <td style="vertical-align: top;">ID<br>
       
  1012                   </td>
       
  1013                   <td style="vertical-align: top;">class loader object
       
  1014 ID<br>
       
  1015                   </td>
       
  1016                 </tr>
       
  1017                 <tr>
       
  1018                   <td style="vertical-align: top;">ID<br>
       
  1019                   </td>
       
  1020                   <td style="vertical-align: top;">signers object ID<br>
       
  1021                   </td>
       
  1022                 </tr>
       
  1023                 <tr>
       
  1024                   <td style="vertical-align: top;">ID<br>
       
  1025                   </td>
       
  1026                   <td style="vertical-align: top;">protection domain
       
  1027 object ID<br>
       
  1028                   </td>
       
  1029                 </tr>
       
  1030                 <tr>
       
  1031                   <td style="vertical-align: top;">ID<br>
       
  1032                   </td>
       
  1033                   <td style="vertical-align: top;">reserved<br>
       
  1034                   </td>
       
  1035                 </tr>
       
  1036                 <tr>
       
  1037                   <td style="vertical-align: top;">ID<br>
       
  1038                   </td>
       
  1039                   <td style="vertical-align: top;">reserved<br>
       
  1040                   </td>
       
  1041                 </tr>
       
  1042                 <tr>
       
  1043                   <td style="vertical-align: top;">u4<br>
       
  1044                   </td>
       
  1045                   <td style="vertical-align: top;">instance size (in
       
  1046 bytes)<br>
       
  1047                   </td>
       
  1048                 </tr>
       
  1049                 <tr>
       
  1050                   <td style="vertical-align: top;">u2<br>
       
  1051                   </td>
       
  1052                   <td style="vertical-align: top;">size of constant
       
  1053 pool and number of records that follow:<br>
       
  1054                   <table style="text-align: left; width: 100%;"
       
  1055  border="1" cellpadding="2" cellspacing="2">
       
  1056                     <tbody>
       
  1057                       <tr>
       
  1058                         <td style="vertical-align: top;">u2<br>
       
  1059                         </td>
       
  1060                         <td style="vertical-align: top;">constant pool
       
  1061 index<br>
       
  1062                         </td>
       
  1063                       </tr>
       
  1064                       <tr>
       
  1065                         <td style="vertical-align: top;">u1<br>
       
  1066                         </td>
       
  1067                         <td style="vertical-align: top;">type of entry:
       
  1068 (See <a href="#Basic_Type">Basic Type</a>)<br>
       
  1069                         </td>
       
  1070                       </tr>
       
  1071                       <tr>
       
  1072                         <td style="vertical-align: top;">value<br>
       
  1073                         </td>
       
  1074                         <td style="vertical-align: top;">value of entry
       
  1075 (u1, u2, u4, or u8 based on type of entry)<span
       
  1076  style="font-style: italic; color: rgb(255, 0, 0);"></span><br>
       
  1077                         </td>
       
  1078                       </tr>
       
  1079                     </tbody>
       
  1080                   </table>
       
  1081                   <br>
       
  1082                   </td>
       
  1083                 </tr>
       
  1084                 <tr>
       
  1085                   <td style="vertical-align: top;">u2<br>
       
  1086                   </td>
       
  1087                   <td style="vertical-align: top;">Number of static
       
  1088 fields:<br>
       
  1089                   <table style="text-align: left; width: 100%;"
       
  1090  border="1" cellpadding="2" cellspacing="2">
       
  1091                     <tbody>
       
  1092                       <tr>
       
  1093                         <td style="vertical-align: top;">ID<br>
       
  1094                         </td>
       
  1095                         <td style="vertical-align: top;">static field
       
  1096 name string ID<br>
       
  1097                         </td>
       
  1098                       </tr>
       
  1099                       <tr>
       
  1100                         <td style="vertical-align: top;">u1<br>
       
  1101                         </td>
       
  1102                         <td style="vertical-align: top;">type of field:
       
  1103 (See <a href="#Basic_Type">Basic Type</a>)<br>
       
  1104                         </td>
       
  1105                       </tr>
       
  1106                       <tr>
       
  1107                         <td style="vertical-align: top;">value<br>
       
  1108                         </td>
       
  1109                         <td style="vertical-align: top;">value of entry
       
  1110 (u1, u2, u4, or u8 based on type of field) <span
       
  1111  style="font-style: italic; color: rgb(255, 0, 0);"></span><br>
       
  1112                         </td>
       
  1113                       </tr>
       
  1114                     </tbody>
       
  1115                   </table>
       
  1116                   <br>
       
  1117                   </td>
       
  1118                 </tr>
       
  1119                 <tr>
       
  1120                   <td style="vertical-align: top;">u2<br>
       
  1121                   </td>
       
  1122                   <td style="vertical-align: top;">Number of instance
       
  1123 fields (not including super class's)<br>
       
  1124                   <table style="text-align: left; width: 100%;"
       
  1125  border="1" cellpadding="2" cellspacing="2">
       
  1126                     <tbody>
       
  1127                       <tr>
       
  1128                         <td style="vertical-align: top;">ID<br>
       
  1129                         </td>
       
  1130                         <td style="vertical-align: top;">field name
       
  1131 string ID<br>
       
  1132                         </td>
       
  1133                       </tr>
       
  1134                       <tr>
       
  1135                         <td style="vertical-align: top;">u1<br>
       
  1136                         </td>
       
  1137                         <td style="vertical-align: top;">type of field:
       
  1138 (See <a href="#Basic_Type">Basic Type</a>)<br>
       
  1139                         </td>
       
  1140                       </tr>
       
  1141                     </tbody>
       
  1142                   </table>
       
  1143                   <br>
       
  1144                   </td>
       
  1145                 </tr>
       
  1146               </tbody>
       
  1147             </table>
       
  1148             <br>
       
  1149             </td>
       
  1150           </tr>
       
  1151           <tr>
       
  1152             <td style="vertical-align: top;">INSTANCE DUMP<br>
       
  1153             </td>
       
  1154             <td style="vertical-align: top;">0x21<br>
       
  1155             </td>
       
  1156             <td style="vertical-align: top;"><br>
       
  1157             <table style="text-align: left; width: 100%;" border="1"
       
  1158  cellpadding="2" cellspacing="2">
       
  1159               <tbody>
       
  1160                 <tr>
       
  1161                   <td style="vertical-align: top;">ID<br>
       
  1162                   </td>
       
  1163                   <td style="vertical-align: top;">object ID<br>
       
  1164                   </td>
       
  1165                 </tr>
       
  1166                 <tr>
       
  1167                   <td style="vertical-align: top;">u4<br>
       
  1168                   </td>
       
  1169                   <td style="vertical-align: top;">stack trace serial
       
  1170 number<br>
       
  1171                   </td>
       
  1172                 </tr>
       
  1173                 <tr>
       
  1174                   <td style="vertical-align: top;">ID<br>
       
  1175                   </td>
       
  1176                   <td style="vertical-align: top;">class object ID<br>
       
  1177                   </td>
       
  1178                 </tr>
       
  1179                 <tr>
       
  1180                   <td style="vertical-align: top;">u4<br>
       
  1181                   </td>
       
  1182                   <td style="vertical-align: top;">number of bytes that
       
  1183 follow<br>
       
  1184                   </td>
       
  1185                 </tr>
       
  1186                 <tr>
       
  1187                   <td style="vertical-align: top;">[value]*<br>
       
  1188                   </td>
       
  1189                   <td style="vertical-align: top;">instance field
       
  1190 values (this class, followed by super class, etc)<span
       
  1191  style="font-style: italic; color: rgb(255, 0, 0);"></span><br>
       
  1192                   </td>
       
  1193                 </tr>
       
  1194               </tbody>
       
  1195             </table>
       
  1196             <br>
       
  1197             </td>
       
  1198           </tr>
       
  1199           <tr>
       
  1200             <td style="vertical-align: top;">OBJECT ARRAY DUMP<br>
       
  1201             </td>
       
  1202             <td style="vertical-align: top;">0x22<br>
       
  1203             </td>
       
  1204             <td style="vertical-align: top;"><br>
       
  1205             <table style="text-align: left; width: 100%;" border="1"
       
  1206  cellpadding="2" cellspacing="2">
       
  1207               <tbody>
       
  1208                 <tr>
       
  1209                   <td style="vertical-align: top;">ID<br>
       
  1210                   </td>
       
  1211                   <td style="vertical-align: top;">array object ID<br>
       
  1212                   </td>
       
  1213                 </tr>
       
  1214                 <tr>
       
  1215                   <td style="vertical-align: top;">u4<br>
       
  1216                   </td>
       
  1217                   <td style="vertical-align: top;">stack trace serial
       
  1218 number<br>
       
  1219                   </td>
       
  1220                 </tr>
       
  1221                 <tr>
       
  1222                   <td style="vertical-align: top;">u4<br>
       
  1223                   </td>
       
  1224                   <td style="vertical-align: top;">number of elements<br>
       
  1225                   </td>
       
  1226                 </tr>
       
  1227                 <tr>
       
  1228                   <td style="vertical-align: top;">ID<br>
       
  1229                   </td>
       
  1230                   <td style="vertical-align: top;">array class object
       
  1231 ID<br>
       
  1232                   </td>
       
  1233                 </tr>
       
  1234                 <tr>
       
  1235                   <td style="vertical-align: top;">[ID]*<br>
       
  1236                   </td>
       
  1237                   <td style="vertical-align: top;">elements<br>
       
  1238                   </td>
       
  1239                 </tr>
       
  1240               </tbody>
       
  1241             </table>
       
  1242             <br>
       
  1243             </td>
       
  1244           </tr>
       
  1245           <tr>
       
  1246             <td style="vertical-align: top;">PRIMITIVE ARRAY DUMP<br>
       
  1247             </td>
       
  1248             <td style="vertical-align: top;">0x23<br>
       
  1249             </td>
       
  1250             <td style="vertical-align: top;">
       
  1251             <table style="text-align: left; width: 100%;" border="1"
       
  1252  cellpadding="2" cellspacing="2">
       
  1253               <tbody>
       
  1254                 <tr>
       
  1255                   <td style="vertical-align: top;">ID<br>
       
  1256                   </td>
       
  1257                   <td style="vertical-align: top;">array object ID<br>
       
  1258                   </td>
       
  1259                 </tr>
       
  1260                 <tr>
       
  1261                   <td style="vertical-align: top;">u4<br>
       
  1262                   </td>
       
  1263                   <td style="vertical-align: top;">stack trace serial
       
  1264 number<br>
       
  1265                   </td>
       
  1266                 </tr>
       
  1267                 <tr>
       
  1268                   <td style="vertical-align: top;">u4<br>
       
  1269                   </td>
       
  1270                   <td style="vertical-align: top;">number of elements<br>
       
  1271                   </td>
       
  1272                 </tr>
       
  1273                 <tr>
       
  1274                   <td style="vertical-align: top;">u1<br>
       
  1275                   </td>
       
  1276                   <td style="vertical-align: top;">element type (See <a
       
  1277  href="#Basic_Type">Basic Type</a>)<br>
       
  1278                   </td>
       
  1279                 </tr>
       
  1280                 <tr>
       
  1281                   <td style="vertical-align: top;">[u1]*<br>
       
  1282                   </td>
       
  1283                   <td style="vertical-align: top;">elements (packed
       
  1284 array) </td>
       
  1285                 </tr>
       
  1286               </tbody>
       
  1287             </table>
       
  1288             <br>
       
  1289             </td>
       
  1290           </tr>
       
  1291         </tbody>
       
  1292       </table>
       
  1293       <br>
       
  1294       </td>
       
  1295     </tr>
       
  1296     <tr>
       
  1297       <td style="vertical-align: top;">HEAP DUMP END<br>
       
  1298       </td>
       
  1299       <td style="vertical-align: top;">0x2C<br>
       
  1300       </td>
       
  1301       <td style="vertical-align: top;">Terminates a series of HEAP DUMP
       
  1302 SEGMENTS.&nbsp; Concatenation of HEAP DUMP SEGMENTS equals a HEAP DUMP.<br>
       
  1303       </td>
       
  1304     </tr>
       
  1305     <tr>
       
  1306       <td style="vertical-align: top;">CPU SAMPLES<br>
       
  1307       </td>
       
  1308       <td style="vertical-align: top;">0x0D<br>
       
  1309       </td>
       
  1310       <td style="vertical-align: top;">
       
  1311       <table style="text-align: left; width: 100%;" border="1"
       
  1312  cellpadding="2" cellspacing="2">
       
  1313         <tbody>
       
  1314           <tr>
       
  1315             <td style="vertical-align: top;">u4<br>
       
  1316             </td>
       
  1317             <td style="vertical-align: top;">total number of samples<br>
       
  1318             </td>
       
  1319           </tr>
       
  1320           <tr>
       
  1321             <td style="vertical-align: top;">u4<br>
       
  1322             </td>
       
  1323             <td style="vertical-align: top;">number of traces that
       
  1324 follow:<br>
       
  1325             <table style="text-align: left; width: 100%;" border="1"
       
  1326  cellpadding="2" cellspacing="2">
       
  1327               <tbody>
       
  1328                 <tr>
       
  1329                   <td style="vertical-align: top;">u4<br>
       
  1330                   </td>
       
  1331                   <td style="vertical-align: top;">number of samples<br>
       
  1332                   </td>
       
  1333                 </tr>
       
  1334                 <tr>
       
  1335                   <td style="vertical-align: top;">u4<br>
       
  1336                   </td>
       
  1337                   <td style="vertical-align: top;">stack trace serial
       
  1338 number<br>
       
  1339                   </td>
       
  1340                 </tr>
       
  1341               </tbody>
       
  1342             </table>
       
  1343             <br>
       
  1344             </td>
       
  1345           </tr>
       
  1346         </tbody>
       
  1347       </table>
       
  1348       <br>
       
  1349       </td>
       
  1350     </tr>
       
  1351     <tr>
       
  1352       <td style="vertical-align: top;">CONTROL SETTINGS<br>
       
  1353       </td>
       
  1354       <td style="vertical-align: top;">0x0E<br>
       
  1355       </td>
       
  1356       <td style="vertical-align: top;">
       
  1357       <table style="text-align: left; width: 100%;" border="1"
       
  1358  cellpadding="2" cellspacing="2">
       
  1359         <tbody>
       
  1360           <tr>
       
  1361             <td style="vertical-align: top;">u4<br>
       
  1362             </td>
       
  1363             <td style="vertical-align: top;">Bit mask flags:<br>
       
  1364             <table style="text-align: left; width: 100%;" border="1"
       
  1365  cellpadding="2" cellspacing="2">
       
  1366               <tbody>
       
  1367                 <tr>
       
  1368                   <td style="vertical-align: top;">0x1<br>
       
  1369                   </td>
       
  1370                   <td style="vertical-align: top;">alloc traces on/off<br>
       
  1371                   </td>
       
  1372                 </tr>
       
  1373                 <tr>
       
  1374                   <td style="vertical-align: top;">0x2<br>
       
  1375                   </td>
       
  1376                   <td style="vertical-align: top;">cpu sampling on/off<br>
       
  1377                   </td>
       
  1378                 </tr>
       
  1379               </tbody>
       
  1380             </table>
       
  1381             <br>
       
  1382             </td>
       
  1383           </tr>
       
  1384           <tr>
       
  1385             <td style="vertical-align: top;">u2<br>
       
  1386             </td>
       
  1387             <td style="vertical-align: top;">stack trace depth<br>
       
  1388             </td>
       
  1389           </tr>
       
  1390         </tbody>
       
  1391       </table>
       
  1392       <br>
       
  1393       </td>
       
  1394     </tr>
       
  1395   </tbody>
       
  1396 </table>
       
  1397 <span style="font-weight: bold;"><br>
       
  1398 </span><a name="Basic_Type"></a>Basic Type
       
  1399 <table style="text-align: left; width: 296px; height: 221px;" border="1"
       
  1400  cellpadding="2" cellspacing="2">
       
  1401   <tbody>
       
  1402     <tr>
       
  1403       <td style="vertical-align: top;">2<br>
       
  1404       </td>
       
  1405       <td style="vertical-align: top;">object<br>
       
  1406       </td>
       
  1407     </tr>
       
  1408     <tr>
       
  1409       <td style="vertical-align: top;">4<br>
       
  1410       </td>
       
  1411       <td style="vertical-align: top;">boolean<br>
       
  1412       </td>
       
  1413     </tr>
       
  1414     <tr>
       
  1415       <td style="vertical-align: top;">5<br>
       
  1416       </td>
       
  1417       <td style="vertical-align: top;">char<br>
       
  1418       </td>
       
  1419     </tr>
       
  1420     <tr>
       
  1421       <td style="vertical-align: top;">6<br>
       
  1422       </td>
       
  1423       <td style="vertical-align: top;">float<br>
       
  1424       </td>
       
  1425     </tr>
       
  1426     <tr>
       
  1427       <td style="vertical-align: top;">7<br>
       
  1428       </td>
       
  1429       <td style="vertical-align: top;">double<br>
       
  1430       </td>
       
  1431     </tr>
       
  1432     <tr>
       
  1433       <td style="vertical-align: top;">8<br>
       
  1434       </td>
       
  1435       <td style="vertical-align: top;">byte<br>
       
  1436       </td>
       
  1437     </tr>
       
  1438     <tr>
       
  1439       <td style="vertical-align: top;">9<br>
       
  1440       </td>
       
  1441       <td style="vertical-align: top;">short<br>
       
  1442       </td>
       
  1443     </tr>
       
  1444     <tr>
       
  1445       <td style="vertical-align: top;">10<br>
       
  1446       </td>
       
  1447       <td style="vertical-align: top;">int<br>
       
  1448       </td>
       
  1449     </tr>
       
  1450     <tr>
       
  1451       <td style="vertical-align: top;">11<br>
       
  1452       </td>
       
  1453       <td style="vertical-align: top;">long<br>
       
  1454       </td>
       
  1455     </tr>
       
  1456   </tbody>
       
  1457 </table>
       
  1458 <h3><a name="mozTocId348360" class="mozTocH3"></a>Handling of Arrays</h3>
       
  1459 <br>
       
  1460 There will be a "LOAD CLASS" tag for type type of each array
       
  1461 in the dump. In the LOAD CLASS record, the class name string ID
       
  1462 will refer to a string with a human-readable name of the array
       
  1463 type that is formatted as the type name would be in Java source
       
  1464 code. Thus, the LOAD CLASS record for the type char[] will
       
  1465 be "char[]", for short[][][] will be "short[][][]" and for
       
  1466 MyType[] will be "MyType[]".
       
  1467 <br>
       
  1468 <h3><a name="mozTocId348369" class="mozTocH3"></a>Socket Connection and
       
  1469 Communication</h3>
       
  1470 <br>
       
  1471 <span style="font-weight: bold;">WARNING</span>: This command format is
       
  1472 still
       
  1473 considered highly experimental, however, all attempts were made to
       
  1474 match the format of past HPROF implementations.<br>
       
  1475 <br>
       
  1476 <br>
       
  1477 Commands can be sent to HPROF via the socket connection, the accepted
       
  1478 COMMAND TAGS are:<br>
       
  1479 <br>
       
  1480 <table style="text-align: left; width: 100%;" border="1" cellpadding="2"
       
  1481  cellspacing="2">
       
  1482   <tbody>
       
  1483     <tr>
       
  1484       <td style="vertical-align: top;">FORCE GC (<span
       
  1485  style="font-style: italic; color: rgb(255, 0, 0);">Not implemented</span>)<br>
       
  1486       </td>
       
  1487       <td style="vertical-align: top;">0x01<br>
       
  1488       </td>
       
  1489     </tr>
       
  1490     <tr>
       
  1491       <td style="vertical-align: top;">DUMP HEAP<br>
       
  1492       </td>
       
  1493       <td style="vertical-align: top;">0x02<br>
       
  1494       </td>
       
  1495     </tr>
       
  1496     <tr>
       
  1497       <td style="vertical-align: top;">ALLOC SITES<br>
       
  1498       </td>
       
  1499       <td style="vertical-align: top;">0x03<br>
       
  1500       </td>
       
  1501     </tr>
       
  1502     <tr>
       
  1503       <td style="vertical-align: top;">HEAP SUMMARY<br>
       
  1504       </td>
       
  1505       <td style="vertical-align: top;">0x04<br>
       
  1506       </td>
       
  1507     </tr>
       
  1508     <tr>
       
  1509       <td style="vertical-align: top;">EXIT THE VM<br>
       
  1510       </td>
       
  1511       <td style="vertical-align: top;">0x05<br>
       
  1512       </td>
       
  1513     </tr>
       
  1514     <tr>
       
  1515       <td style="vertical-align: top;">DUMP TRACES<br>
       
  1516       </td>
       
  1517       <td style="vertical-align: top;">0x06<br>
       
  1518       </td>
       
  1519     </tr>
       
  1520     <tr>
       
  1521       <td style="vertical-align: top;">CPU SAMPLES<br>
       
  1522       </td>
       
  1523       <td style="vertical-align: top;">0x07<br>
       
  1524       </td>
       
  1525     </tr>
       
  1526     <tr>
       
  1527       <td style="vertical-align: top;">CONTROL<br>
       
  1528       </td>
       
  1529       <td style="vertical-align: top;">0x08<br>
       
  1530       </td>
       
  1531     </tr>
       
  1532     <tr>
       
  1533       <td style="vertical-align: top;">EOF (used to terminate socket
       
  1534 connection)<br>
       
  1535       </td>
       
  1536       <td style="vertical-align: top;">0xFF<br>
       
  1537       </td>
       
  1538     </tr>
       
  1539   </tbody>
       
  1540 </table>
       
  1541 <br>
       
  1542 The commands take the form:<br>
       
  1543 <br>
       
  1544 <table style="text-align: left; width: 100%;" border="1" cellpadding="2"
       
  1545  cellspacing="2">
       
  1546   <tbody>
       
  1547     <tr>
       
  1548       <td style="vertical-align: top;">u1<br>
       
  1549       </td>
       
  1550       <td style="vertical-align: top;">COMMAND TAG<br>
       
  1551       </td>
       
  1552     </tr>
       
  1553     <tr>
       
  1554       <td style="vertical-align: top;">u4<br>
       
  1555       </td>
       
  1556       <td style="vertical-align: top;">serial number<br>
       
  1557       </td>
       
  1558     </tr>
       
  1559     <tr>
       
  1560       <td style="vertical-align: top;">u4<br>
       
  1561       </td>
       
  1562       <td style="vertical-align: top;">number of bytes that follow<br>
       
  1563       </td>
       
  1564     </tr>
       
  1565     <tr>
       
  1566       <td style="vertical-align: top;">[u1]*<br>
       
  1567       </td>
       
  1568       <td style="vertical-align: top;">
       
  1569       <table style="text-align: left; width: 100%;" border="1"
       
  1570  cellpadding="2" cellspacing="2">
       
  1571         <tbody>
       
  1572           <tr>
       
  1573             <td style="vertical-align: top;">ALLOC SITES<br>
       
  1574             </td>
       
  1575             <td style="vertical-align: top;">
       
  1576             <table style="text-align: left; width: 100%;" border="1"
       
  1577  cellpadding="2" cellspacing="2">
       
  1578               <tbody>
       
  1579                 <tr>
       
  1580                   <td style="vertical-align: top;">u2<br>
       
  1581                   </td>
       
  1582                   <td style="vertical-align: top;">Flags:<br>
       
  1583                   </td>
       
  1584                 </tr>
       
  1585                 <tr>
       
  1586                   <td style="vertical-align: top;">u4<br>
       
  1587                   </td>
       
  1588                   <td style="vertical-align: top;">cutoff ratio
       
  1589 (floating point between 0.0 and 1.0)<br>
       
  1590                   </td>
       
  1591                 </tr>
       
  1592               </tbody>
       
  1593             </table>
       
  1594             <br>
       
  1595             </td>
       
  1596           </tr>
       
  1597           <tr>
       
  1598             <td style="vertical-align: top;">CPU SAMPLES<br>
       
  1599             </td>
       
  1600             <td style="vertical-align: top;">
       
  1601             <table style="text-align: left; width: 100%;" border="1"
       
  1602  cellpadding="2" cellspacing="2">
       
  1603               <tbody>
       
  1604                 <tr>
       
  1605                   <td style="vertical-align: top;">u2<br>
       
  1606                   </td>
       
  1607                   <td style="vertical-align: top;">ignored<br>
       
  1608                   </td>
       
  1609                 </tr>
       
  1610                 <tr>
       
  1611                   <td style="vertical-align: top;">u4<br>
       
  1612                   </td>
       
  1613                   <td style="vertical-align: top;">cutoff ratio
       
  1614 (floating point between 0.0 and 1.0)<br>
       
  1615                   </td>
       
  1616                 </tr>
       
  1617               </tbody>
       
  1618             </table>
       
  1619             <br>
       
  1620             </td>
       
  1621           </tr>
       
  1622           <tr>
       
  1623             <td style="vertical-align: top;">CONTROL<br>
       
  1624             </td>
       
  1625             <td style="vertical-align: top;">
       
  1626             <table style="text-align: left; width: 100%;" border="1"
       
  1627  cellpadding="2" cellspacing="2">
       
  1628               <tbody>
       
  1629                 <tr>
       
  1630                   <td style="vertical-align: top;">u2<br>
       
  1631                   </td>
       
  1632                   <td style="vertical-align: top;">Sub option:<br>
       
  1633                   <table style="text-align: left; width: 100%;"
       
  1634  border="1" cellpadding="2" cellspacing="2">
       
  1635                     <tbody>
       
  1636                       <tr>
       
  1637                         <td style="vertical-align: top;">0x1<br>
       
  1638                         </td>
       
  1639                         <td style="vertical-align: top;">Turn alloc
       
  1640 traces on<br>
       
  1641                         </td>
       
  1642                       </tr>
       
  1643                       <tr>
       
  1644                         <td style="vertical-align: top;">0x2<br>
       
  1645                         </td>
       
  1646                         <td style="vertical-align: top;">Turn alloc
       
  1647 traces off<br>
       
  1648                         </td>
       
  1649                       </tr>
       
  1650                       <tr>
       
  1651                         <td style="vertical-align: top;">0x3<br>
       
  1652                         </td>
       
  1653                         <td style="vertical-align: top;">Turn CPU
       
  1654 sampling on:<br>
       
  1655                         <table style="text-align: left; width: 100%;"
       
  1656  border="1" cellpadding="2" cellspacing="2">
       
  1657                           <tbody>
       
  1658                             <tr>
       
  1659                               <td style="vertical-align: top;">ID<br>
       
  1660                               </td>
       
  1661                               <td style="vertical-align: top;">thread
       
  1662 object ID (0 for all threads)<br>
       
  1663                               </td>
       
  1664                             </tr>
       
  1665                           </tbody>
       
  1666                         </table>
       
  1667                         <br>
       
  1668                         </td>
       
  1669                       </tr>
       
  1670                       <tr>
       
  1671                         <td style="vertical-align: top;">0x4<br>
       
  1672                         </td>
       
  1673                         <td style="vertical-align: top;">Turn CPU
       
  1674 sampling off:<br>
       
  1675                         <table style="text-align: left; width: 100%;"
       
  1676  border="1" cellpadding="2" cellspacing="2">
       
  1677                           <tbody>
       
  1678                             <tr>
       
  1679                               <td style="vertical-align: top;">ID<br>
       
  1680                               </td>
       
  1681                               <td style="vertical-align: top;">thread
       
  1682 object ID (0 for all threads)</td>
       
  1683                             </tr>
       
  1684                           </tbody>
       
  1685                         </table>
       
  1686                         <br>
       
  1687                         </td>
       
  1688                       </tr>
       
  1689                       <tr>
       
  1690                         <td style="vertical-align: top;">0x5<br>
       
  1691                         </td>
       
  1692                         <td style="vertical-align: top;">Clear CPU
       
  1693 sampling<br>
       
  1694                         </td>
       
  1695                       </tr>
       
  1696                       <tr>
       
  1697                         <td style="vertical-align: top;">0x6<br>
       
  1698                         </td>
       
  1699                         <td style="vertical-align: top;">Set max stack
       
  1700 depth:<br>
       
  1701                         <table style="text-align: left; width: 100%;"
       
  1702  border="1" cellpadding="2" cellspacing="2">
       
  1703                           <tbody>
       
  1704                             <tr>
       
  1705                               <td style="vertical-align: top;">u2<br>
       
  1706                               </td>
       
  1707                               <td style="vertical-align: top;">New max
       
  1708 stack depth<br>
       
  1709                               </td>
       
  1710                             </tr>
       
  1711                           </tbody>
       
  1712                         </table>
       
  1713                         <br>
       
  1714                         </td>
       
  1715                       </tr>
       
  1716                     </tbody>
       
  1717                   </table>
       
  1718                   <br>
       
  1719                   </td>
       
  1720                 </tr>
       
  1721               </tbody>
       
  1722             </table>
       
  1723             <br>
       
  1724             </td>
       
  1725           </tr>
       
  1726         </tbody>
       
  1727       </table>
       
  1728       </td>
       
  1729     </tr>
       
  1730   </tbody>
       
  1731 </table>
       
  1732 <br>
       
  1733 <p></p>
       
  1734 <hr><!-- hhmts start -->
       
  1735 Last modified: 2005<!-- hhmts end -->
       
  1736 </body>
       
  1737 </html>