blob: c4b02c01f8f47b92d643bca7facc664301ff700c [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>ImageThread (OpenJ9 JDK 11)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="keywords" content="com.ibm.dtfj.image.ImageThread interface">
<meta name="keywords" content="getID()">
<meta name="keywords" content="getStackFrames()">
<meta name="keywords" content="getStackSections()">
<meta name="keywords" content="getRegisters()">
<meta name="keywords" content="getProperties()">
<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="ImageThread (OpenJ9 JDK 11)";
}
}
catch(err) {
}
//-->
var data = {"i0":6,"i1":6,"i2":6,"i3":6,"i4":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/ImageThread.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.image</a></div>
<h2 title="Interface ImageThread" class="title">Interface ImageThread</h2>
</div>
<div class="contentContainer">
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Known Implementing Classes:</dt>
<dd><code><a href="j9/ImageThread.html" title="class in com.ibm.dtfj.image.j9">ImageThread</a></code>, <code><a href="javacore/JCImageThread.html" title="class in com.ibm.dtfj.image.javacore">JCImageThread</a></code>, <code><a href="../phd/PHDCorruptImageThread.html" title="class in com.ibm.dtfj.phd">PHDCorruptImageThread</a></code>, <code><a href="../phd/PHDImageThread.html" title="class in com.ibm.dtfj.phd">PHDImageThread</a></code></dd>
</dl>
<hr>
<pre>public interface <span class="typeNameLabel">ImageThread</span></pre>
<div class="block">Represents a native operating system thread.</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><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></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getID()">getID</a></span>()</code></th>
<td class="colLast">
<div class="block">Fetch a unique identifier for the thread.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Properties.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Properties</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getProperties()">getProperties</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the OS-specific properties for this thread.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Iterator</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getRegisters()">getRegisters</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the register contents.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Iterator</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getStackFrames()">getStackFrames</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the set of stack frames on this thread.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Iterator</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getStackSections()">getStackSections</a></span>()</code></th>
<td class="colLast">
<div class="block">Get the set of image sections which make up the stack.</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="getID()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getID</h4>
<pre class="methodSignature"><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;getID()
throws <a href="CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></pre>
<div class="block">Fetch a unique identifier for the thread.
In many operating systems, threads have more than one identifier (e.g.
a thread id, a handle, a pointer to VM structures associated with the thread).
In this case, one of these identifiers will be chosen as the canonical
one. The other identifiers would be returned by getProperties()</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a process-wide identifier for the thread (e.g. a tid number)</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</li>
</ul>
<a id="getStackFrames()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStackFrames</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Iterator</a>&nbsp;getStackFrames()
throws <a href="DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a></pre>
<div class="block">Get the set of stack frames on this thread.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an iterator to walk the native stack frames in order from
top-of-stack (that is, the most recent frame) to bottom-of-stack. Throws
DataUnavailable if native stack frames are not available on this platform.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a></code> - If native stack frames are not available on this platform</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="ImageStackFrame.html" title="interface in com.ibm.dtfj.image"><code>ImageStackFrame</code></a>,
<a href="CorruptData.html" title="interface in com.ibm.dtfj.image"><code>CorruptData</code></a></dd>
</dl>
</li>
</ul>
<a id="getStackSections()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getStackSections</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Iterator</a>&nbsp;getStackSections()</pre>
<div class="block">Get the set of image sections which make up the stack.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a collection of ImageSections which make up the stack. On
most platforms this consists of a single entry, but on some platforms
the thread's stack may consist of non-contiguous sections</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="ImageSection.html" title="interface in com.ibm.dtfj.image"><code>ImageSection</code></a>,
<a href="CorruptData.html" title="interface in com.ibm.dtfj.image"><code>CorruptData</code></a></dd>
</dl>
</li>
</ul>
<a id="getRegisters()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getRegisters</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Iterator.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Iterator</a>&nbsp;getRegisters()</pre>
<div class="block">Get the register contents.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an iterator to iterate over the state of the CPU registers
when the image was created. The collection may be empty if the register
state is not available for this thread.
If the CPU supports partial registers (e.g. AH, AL, AX, EAX, RAX on
AMD64), only the largest version of the register will be included</dd>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="ImageRegister.html" title="interface in com.ibm.dtfj.image"><code>ImageRegister</code></a></dd>
</dl>
</li>
</ul>
<a id="getProperties()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getProperties</h4>
<pre class="methodSignature"><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/util/Properties.html?is-external=true" title="class or interface in java.util" class="externalLink" target="_blank">Properties</a>&nbsp;getProperties()</pre>
<div class="block">Get the OS-specific properties for this thread.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a table of OS-specific properties for this thread.
Values which are commonly available include
<ul>
<li>"priority" -- the priority of the thread</li>
<li>"policy" -- the scheduling policy of the thread</li>
</ul></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/ImageThread.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/issues" target="_blank">Eclipse Openj9 issue.</a><br> Copyright &copy; 1998, 2021, IBM Corp. and others.</small></p>
</footer>
</body>
</html>