blob: 49a4b8a2835c2e4ed3d1a3fdbe079fd21aa2cc43 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>PortableHeapDumpListener (OpenJ9 JDK 11)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="keywords" content="com.ibm.dtfj.phd.parser.PortableHeapDumpListener interface">
<meta name="keywords" content="objectDump()">
<meta name="keywords" content="objectArrayDump()">
<meta name="keywords" content="classDump()">
<meta name="keywords" content="primitiveArrayDump()">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="PortableHeapDumpListener (OpenJ9 JDK 11)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/PortableHeapDumpListener.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 11</strong></div></div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="moduleLabelInType">Module</span>&nbsp;<a href="../../../../../module-summary.html">openj9.dtfj</a></div>
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">com.ibm.dtfj.phd.parser</a></div>
<h2 title="Interface PortableHeapDumpListener" class="title">Interface PortableHeapDumpListener</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public interface <span class="typeNameLabel">PortableHeapDumpListener</span></pre>
<div class="block">This interface is used to parse a heapdump in Phd format. It provides info about the
contents of a heapdump in the form of callbacks with one call per object. Note that wherever
an array of references appears that null references are not included.
<p>
Any exceptions thrown by the listener will be propagated back through the parse call.
<p>
<b>Note:</b> This interface was changed on 12 Oct 2005 to provide the ability to enumerate
the references rather than returning an array of longs. This has been done for performance
reasons after it was found that certain heapdumps contain huge object arrays.</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#classDump(long,long,java.lang.String,int,int,int,com.ibm.dtfj.phd.util.LongEnumeration)">classDump</a></span>&#8203;(long&nbsp;address,
long&nbsp;superAddress,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">String</a>&nbsp;name,
int&nbsp;instanceSize,
int&nbsp;flags,
int&nbsp;hashCode,
<a href="../util/LongEnumeration.html" title="interface in com.ibm.dtfj.phd.util">LongEnumeration</a>&nbsp;refs)</code></th>
<td class="colLast">
<div class="block">This call represents a class object.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#objectArrayDump(long,long,int,int,com.ibm.dtfj.phd.util.LongEnumeration,int,long)">objectArrayDump</a></span>&#8203;(long&nbsp;address,
long&nbsp;classAddress,
int&nbsp;flags,
int&nbsp;hashCode,
<a href="../util/LongEnumeration.html" title="interface in com.ibm.dtfj.phd.util">LongEnumeration</a>&nbsp;refs,
int&nbsp;length,
long&nbsp;instanceSize)</code></th>
<td class="colLast">
<div class="block">This call represents an array of objects.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#objectDump(long,long,int,int,com.ibm.dtfj.phd.util.LongEnumeration,long)">objectDump</a></span>&#8203;(long&nbsp;address,
long&nbsp;classAddress,
int&nbsp;flags,
int&nbsp;hashCode,
<a href="../util/LongEnumeration.html" title="interface in com.ibm.dtfj.phd.util">LongEnumeration</a>&nbsp;refs,
long&nbsp;instanceSize)</code></th>
<td class="colLast">
<div class="block">This call represents a normal object.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#primitiveArrayDump(long,int,int,int,int,long)">primitiveArrayDump</a></span>&#8203;(long&nbsp;address,
int&nbsp;type,
int&nbsp;length,
int&nbsp;flags,
int&nbsp;hashCode,
long&nbsp;instanceSize)</code></th>
<td class="colLast">
<div class="block">This call represents a primitive array.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="objectDump(long,long,int,int,com.ibm.dtfj.phd.util.LongEnumeration,long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>objectDump</h4>
<pre class="methodSignature">void&nbsp;objectDump&#8203;(long&nbsp;address,
long&nbsp;classAddress,
int&nbsp;flags,
int&nbsp;hashCode,
<a href="../util/LongEnumeration.html" title="interface in com.ibm.dtfj.phd.util">LongEnumeration</a>&nbsp;refs,
long&nbsp;instanceSize)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Exception</a></pre>
<div class="block">This call represents a normal object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>address</code> - the address of the object</dd>
<dd><code>classAddress</code> - the address of the object's class object (which is dumped via classDump)</dd>
<dd><code>flags</code> - flags associated with the object (currently unused)</dd>
<dd><code>hashCode</code> - the object's hash code</dd>
<dd><code>refs</code> - the enumeration of object references</dd>
<dd><code>instanceSize</code> - the instance size == PHDJavaObject.UNSPECIFIED_INSTANCE_SIZE</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Exception</a></code></dd>
</dl>
</li>
</ul>
<a id="objectArrayDump(long,long,int,int,com.ibm.dtfj.phd.util.LongEnumeration,int,long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>objectArrayDump</h4>
<pre class="methodSignature">void&nbsp;objectArrayDump&#8203;(long&nbsp;address,
long&nbsp;classAddress,
int&nbsp;flags,
int&nbsp;hashCode,
<a href="../util/LongEnumeration.html" title="interface in com.ibm.dtfj.phd.util">LongEnumeration</a>&nbsp;refs,
int&nbsp;length,
long&nbsp;instanceSize)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Exception</a></pre>
<div class="block">This call represents an array of objects.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>address</code> - the address of the array</dd>
<dd><code>classAddress</code> - the address of the class object for the objects in the array</dd>
<dd><code>flags</code> - flags associated with the object (currently unused)</dd>
<dd><code>hashCode</code> - the object's hash code</dd>
<dd><code>refs</code> - the enumeration of object references</dd>
<dd><code>length</code> - the true length of the array in terms of number of references. This includes null refs and so may be greater than refs.length.</dd>
<dd><code>instanceSize</code> - will be set for all object arrays with a version 6 PHD, otherwise == PHDJavaObject.UNSPECIFIED_INSTANCE_SIZE</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Exception</a></code></dd>
</dl>
</li>
</ul>
<a id="classDump(long,long,java.lang.String,int,int,int,com.ibm.dtfj.phd.util.LongEnumeration)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>classDump</h4>
<pre class="methodSignature">void&nbsp;classDump&#8203;(long&nbsp;address,
long&nbsp;superAddress,
<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/String.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">String</a>&nbsp;name,
int&nbsp;instanceSize,
int&nbsp;flags,
int&nbsp;hashCode,
<a href="../util/LongEnumeration.html" title="interface in com.ibm.dtfj.phd.util">LongEnumeration</a>&nbsp;refs)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Exception</a></pre>
<div class="block">This call represents a class object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>address</code> - the address of the class object</dd>
<dd><code>superAddress</code> - the address of the superclass object</dd>
<dd><code>name</code> - the name of the class</dd>
<dd><code>instanceSize</code> - the size of each instance (object) of this class</dd>
<dd><code>flags</code> - flags associated with the object (currently unused)</dd>
<dd><code>hashCode</code> - the object's hash code</dd>
<dd><code>refs</code> - the enumeration of this class's static references.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Exception</a></code></dd>
</dl>
</li>
</ul>
<a id="primitiveArrayDump(long,int,int,int,int,long)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>primitiveArrayDump</h4>
<pre class="methodSignature">void&nbsp;primitiveArrayDump&#8203;(long&nbsp;address,
int&nbsp;type,
int&nbsp;length,
int&nbsp;flags,
int&nbsp;hashCode,
long&nbsp;instanceSize)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Exception</a></pre>
<div class="block">This call represents a primitive array.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>address</code> - the address of the array</dd>
<dd><code>type</code> - the type of the array elements as follows:
<table cellpadding="2" cellspacing="0" border="1">
<thead>
<tr>
<th align="left" valign="top">Value<br></th>
<th align="left" valign="top">Array type<br></th>
</tr>
</thead>
<tbody>
<tr>
<td valign="top">0<br></td>
<td valign="top">bool<br></td>
</tr>
<tr>
<td valign="top">1<br></td>
<td valign="top">char<br></td>
</tr>
<tr>
<td valign="top">2<br></td>
<td valign="top">float<br></td>
</tr>
<tr>
<td valign="top">3<br></td>
<td valign="top">double<br></td>
</tr>
<tr>
<td valign="top">4<br></td>
<td valign="top">byte<br></td>
</tr>
<tr>
<td valign="top">5<br></td>
<td valign="top">short<br></td>
</tr>
<tr>
<td valign="top">6<br></td>
<td valign="top">int<br></td>
</tr>
<tr>
<td valign="top">7<br></td>
<td valign="top">long<br></td>
</tr>
</tbody>
</table></dd>
<dd><code>length</code> - the number of elements in the array</dd>
<dd><code>flags</code> - flags associated with the object (currently unused)</dd>
<dd><code>hashCode</code> - the object's hash code</dd>
<dd><code>instanceSize</code> - will be set for primitive arrays with a version 6 PHD, otherwise == PHDJavaObject.UNSPECIFIED_INSTANCE_SIZE</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Exception.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Exception</a></code></dd>
</dl>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../../../index.html">Overview</a></li>
<li><a href="../../../../../module-summary.html">Module</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/PortableHeapDumpListener.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../../../help-doc.html">Help</a></li>
</ul>
<div class="aboutLanguage"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 11</strong></div></div>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li>Constr&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
<p class="legalCopy"><small><a href="https://www.eclipse.org/openj9/" target="_blank">Eclipse OpenJ9 website.</a><br> To raise a bug report or suggest an improvement create an <a href="https://github.com/eclipse-openj9/openj9/issues" target="_blank">Eclipse Openj9 issue.</a><br> Copyright &copy; 1998, 2022, IBM Corp. and others.</small></p>
</footer>
</body>
</html>