blob: 1dba55cdd106652c336d8261c31f8093c262b585 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (16) -->
<title>JavaThread (OpenJ9 JDK 16)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="description" content="declaration: module: openj9.dtfj, package: com.ibm.dtfj.java.j9, class: JavaThread">
<meta name="generator" content="javadoc/ClassWriterImpl">
<meta name="keywords" content="com.ibm.dtfj.java.j9.JavaThread class">
<meta name="keywords" content="getJNIEnv()">
<meta name="keywords" content="getPriority()">
<meta name="keywords" content="getObject()">
<meta name="keywords" content="getState()">
<meta name="keywords" content="getImageThread()">
<meta name="keywords" content="getStackSections()">
<meta name="keywords" content="getStackFrames()">
<meta name="keywords" content="getName()">
<meta name="keywords" content="addFrame()">
<meta name="keywords" content="setStackSection()">
<meta name="keywords" content="equals()">
<meta name="keywords" content="hashCode()">
<meta name="keywords" content="addNewStackFrame()">
<meta name="keywords" content="setStackCorrupt()">
<meta name="keywords" content="getBlockingObject()">
<link rel="stylesheet" type="text/css" href="../../../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../../../script.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar.top">
<div class="skip-nav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<div class="about-language"><div style="margin-top: 9px;"><strong>OpenJ9 JDK 16</strong></div></div>
<ul id="navbar.top.firstrow" class="nav-list" 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="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/JavaThread.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>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="sub-nav-list">
<li>Detail:&nbsp;</li>
<li>Field&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<div class="nav-list-search"><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip.navbar.top">
<!-- -->
</span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="module-label-in-type">Module</span>&nbsp;<a href="../../../../../module-summary.html">openj9.dtfj</a></div>
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">com.ibm.dtfj.java.j9</a></div>
<h1 title="Class JavaThread" class="title">Class JavaThread</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">java.lang.Object</a>
<div class="inheritance">com.ibm.dtfj.java.j9.JavaThread</div>
</div>
<section class="description">
<dl class="notes">
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../JavaThread.html" title="interface in com.ibm.dtfj.java">JavaThread</a></code></dd>
</dl>
<hr>
<div class="type-signature"><span class="modifiers">public class </span><span class="element-name type-name-label">JavaThread</span>
<span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a>
implements <a href="../JavaThread.html" title="interface in com.ibm.dtfj.java">JavaThread</a></span></div>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field.summary">
<h2>Field Summary</h2>
<div class="inherited-list">
<h3 id="fields.inherited.from.class.com.ibm.dtfj.java.JavaThread">Fields declared in interface&nbsp;com.ibm.dtfj.java.<a href="../JavaThread.html" title="interface in com.ibm.dtfj.java">JavaThread</a></h3>
<code><a href="../JavaThread.html#STATE_ALIVE">STATE_ALIVE</a>, <a href="../JavaThread.html#STATE_BLOCKED_ON_MONITOR_ENTER">STATE_BLOCKED_ON_MONITOR_ENTER</a>, <a href="../JavaThread.html#STATE_IN_NATIVE">STATE_IN_NATIVE</a>, <a href="../JavaThread.html#STATE_IN_OBJECT_WAIT">STATE_IN_OBJECT_WAIT</a>, <a href="../JavaThread.html#STATE_INTERRUPTED">STATE_INTERRUPTED</a>, <a href="../JavaThread.html#STATE_PARKED">STATE_PARKED</a>, <a href="../JavaThread.html#STATE_RUNNABLE">STATE_RUNNABLE</a>, <a href="../JavaThread.html#STATE_SLEEPING">STATE_SLEEPING</a>, <a href="../JavaThread.html#STATE_SUSPENDED">STATE_SUSPENDED</a>, <a href="../JavaThread.html#STATE_TERMINATED">STATE_TERMINATED</a>, <a href="../JavaThread.html#STATE_VENDOR_1">STATE_VENDOR_1</a>, <a href="../JavaThread.html#STATE_VENDOR_2">STATE_VENDOR_2</a>, <a href="../JavaThread.html#STATE_VENDOR_3">STATE_VENDOR_3</a>, <a href="../JavaThread.html#STATE_WAITING">STATE_WAITING</a>, <a href="../JavaThread.html#STATE_WAITING_INDEFINITELY">STATE_WAITING_INDEFINITELY</a>, <a href="../JavaThread.html#STATE_WAITING_WITH_TIMEOUT">STATE_WAITING_WITH_TIMEOUT</a></code></div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor.summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table two-column-summary">
<div class="table-header col-first">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-constructor-name even-row-color"><code><span class="member-name-link"><a href="#%3Cinit%3E(com.ibm.dtfj.java.j9.JavaRuntime,com.ibm.dtfj.image.ImagePointer,com.ibm.dtfj.image.ImagePointer,java.lang.String,com.ibm.dtfj.image.ImageThread)">JavaThread</a></span>&#8203;(<a href="JavaRuntime.html" title="class in com.ibm.dtfj.java.j9">JavaRuntime</a>&nbsp;vm,
<a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a>&nbsp;nativeID,
<a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a>&nbsp;objectID,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;state,
<a href="../../image/ImageThread.html" title="interface in com.ibm.dtfj.image">ImageThread</a>&nbsp;imageThread)</code></div>
<div class="col-last even-row-color">&nbsp;</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method.summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#addFrame(java.lang.Object)">addFrame</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a>&nbsp;frame)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="JavaStackFrame.html" title="class in com.ibm.dtfj.java.j9">JavaStackFrame</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#addNewStackFrame(long,long,long,int)">addNewStackFrame</a></span>&#8203;(long&nbsp;arguments,
long&nbsp;method,
long&nbsp;pc,
int&nbsp;lineNumber)</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>boolean</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#equals(java.lang.Object)">equals</a></span>&#8203;(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a>&nbsp;obj)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Compares the argument to the receiver, and answers true
if they represent the <em>same</em> object using a class
specific comparison.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getBlockingObject()">getBlockingObject</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">For threads that are in STATE_BLOCKED_ON_MONITOR_ENTER this method returns the JavaObject who's monitor they are blocked on.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="../../image/ImageThread.html" title="interface in com.ibm.dtfj.image">ImageThread</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getImageThread()">getImageThread</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Represents the joining point between the Java view of execution and the corresponding native view.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getJNIEnv()">getJNIEnv</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Get the address of the JNIEnv structure which represents this thread instance in JNI.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getName()">getName</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Return the name of the thread.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getObject()">getObject</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Fetch the java.lang.Thread associated with this thread.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>int</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getPriority()">getPriority</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Get the Java priority of the thread.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getStackFrames()">getStackFrames</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Get the set of stack frames.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getStackSections()">getStackSections</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Get the set of ImageSections which make up the managed stack.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>int</code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#getState()">getState</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Get the state of the thread when the image was created.</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>int</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#hashCode()">hashCode</a></span>()</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Answers an integer hash code for the receiver.</div>
</div>
<div class="col-first odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
<div class="col-second odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#setStackCorrupt()">setStackCorrupt</a></span>()</code></div>
<div class="col-last odd-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">
<div class="block">Called by the parser if it finds an error tag where the stack was expected</div>
</div>
<div class="col-first even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code>void</code></div>
<div class="col-second even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table"><code><span class="member-name-link"><a href="#setStackSection(long,long)">setStackSection</a></span>&#8203;(long&nbsp;base,
long&nbsp;size)</code></div>
<div class="col-last even-row-color method-summary-table-tab2 method-summary-table-tab4 method-summary-table">&nbsp;</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods.inherited.from.class.java.lang.Object">Methods declared in class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link" target="_blank">clone</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link" target="_blank">equals</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link" target="_blank">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link" target="_blank">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link" target="_blank">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link" target="_blank">notify</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link" target="_blank">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link" target="_blank">toString</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link" target="_blank">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link" target="_blank">wait</a>, <a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link" target="_blank">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor.detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;(com.ibm.dtfj.java.j9.JavaRuntime,com.ibm.dtfj.image.ImagePointer,com.ibm.dtfj.image.ImagePointer,java.lang.String,com.ibm.dtfj.image.ImageThread)">
<h3>JavaThread</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="element-name">JavaThread</span>&#8203;<span class="parameters">(<a href="JavaRuntime.html" title="class in com.ibm.dtfj.java.j9">JavaRuntime</a>&nbsp;vm,
<a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a>&nbsp;nativeID,
<a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a>&nbsp;objectID,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a>&nbsp;state,
<a href="../../image/ImageThread.html" title="interface in com.ibm.dtfj.image">ImageThread</a>&nbsp;imageThread)</span></div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method.detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getJNIEnv()">
<h3>getJNIEnv</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../image/ImagePointer.html" title="interface in com.ibm.dtfj.image">ImagePointer</a></span>&nbsp;<span class="element-name">getJNIEnv</span>()
throws <span class="exceptions"><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaThread.html#getJNIEnv()">JavaThread</a></code></span></div>
<div class="block">Get the address of the JNIEnv structure which represents this thread instance in JNI.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaThread.html#getJNIEnv()">getJNIEnv</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaThread.html" title="interface in com.ibm.dtfj.java">JavaThread</a></code></dd>
<dt>Returns:</dt>
<dd>the address of the JNIEnv structure which represents this thread instance in JNI</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getPriority()">
<h3>getPriority</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getPriority</span>()
throws <span class="exceptions"><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaThread.html#getPriority()">JavaThread</a></code></span></div>
<div class="block">Get the Java priority of the thread.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaThread.html#getPriority()">getPriority</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaThread.html" title="interface in com.ibm.dtfj.java">JavaThread</a></code></dd>
<dt>Returns:</dt>
<dd>the Java priority of the thread (a number between 1 and 10 inclusive)</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
<dt>See Also:</dt>
<dd><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Thread.html#getPriority()" title="class or interface in java.lang" class="external-link" target="_blank"><code>Thread.getPriority()</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getObject()">
<h3>getObject</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></span>&nbsp;<span class="element-name">getObject</span>()
throws <span class="exceptions"><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaThread.html#getObject()">JavaThread</a></code></span></div>
<div class="block">Fetch the java.lang.Thread associated with this thread. If the thread is in the process
of being attached, this may return null.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaThread.html#getObject()">getObject</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaThread.html" title="interface in com.ibm.dtfj.java">JavaThread</a></code></dd>
<dt>Returns:</dt>
<dd>the a JavaObject representing the java.lang.Thread associated with this thread</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
<dt>See Also:</dt>
<dd><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java"><code>JavaObject</code></a>,
<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Thread.html" title="class or interface in java.lang" class="external-link" target="_blank"><code>Thread</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getState()">
<h3>getState</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">getState</span>()
throws <span class="exceptions"><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaThread.html#getState()">JavaThread</a></code></span></div>
<div class="block">Get the state of the thread when the image was created.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaThread.html#getState()">getState</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaThread.html" title="interface in com.ibm.dtfj.java">JavaThread</a></code></dd>
<dt>Returns:</dt>
<dd>the state of the thread when the image was created.
The result is a bit vector, and uses the states defined by
the JVMTI specification.</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getImageThread()">
<h3>getImageThread</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../../image/ImageThread.html" title="interface in com.ibm.dtfj.image">ImageThread</a></span>&nbsp;<span class="element-name">getImageThread</span>()
throws <span class="exceptions"><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a>,
<a href="../../image/DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaThread.html#getImageThread()">JavaThread</a></code></span></div>
<div class="block">Represents the joining point between the Java view of execution and the corresponding native view.
This method is where the mapping from Java into native threading resources is provided.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaThread.html#getImageThread()">getImageThread</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaThread.html" title="interface in com.ibm.dtfj.java">JavaThread</a></code></dd>
<dt>Returns:</dt>
<dd>the ImageThread which this ManagedThread is currently bound to.</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code> - If the underlying resource describing the native representation of the thread
is damaged</dd>
<dd><code><a href="../../image/DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a></code> - If no mapping is provided due to missing or limited underlying resources (this
exception added in DTFJ 1.1)</dd>
<dt>See Also:</dt>
<dd><a href="../../image/ImageThread.html" title="interface in com.ibm.dtfj.image"><code>ImageThread</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getStackSections()">
<h3>getStackSections</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></span>&nbsp;<span class="element-name">getStackSections</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaThread.html#getStackSections()">JavaThread</a></code></span></div>
<div class="block">Get the set of ImageSections which make up the managed stack.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaThread.html#getStackSections()">getStackSections</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaThread.html" title="interface in com.ibm.dtfj.java">JavaThread</a></code></dd>
<dt>Returns:</dt>
<dd>a collection of ImageSections which make up the managed stack.
<p>
Some Runtime implementations may also use parts of the ImageThread's stack
for ManagesStackFrames</dd>
<dt>See Also:</dt>
<dd><a href="../../image/ImageSection.html" title="interface in com.ibm.dtfj.image"><code>ImageSection</code></a>,
<a href="../../image/ImageThread.html#getStackSections()"><code>ImageThread.getStackSections()</code></a>,
<a href="../../image/CorruptData.html" title="interface in com.ibm.dtfj.image"><code>CorruptData</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getStackFrames()">
<h3>getStackFrames</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/util/Iterator.html" title="class or interface in java.util" class="external-link" target="_blank">Iterator</a></span>&nbsp;<span class="element-name">getStackFrames</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaThread.html#getStackFrames()">JavaThread</a></code></span></div>
<div class="block">Get the set of stack frames.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaThread.html#getStackFrames()">getStackFrames</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaThread.html" title="interface in com.ibm.dtfj.java">JavaThread</a></code></dd>
<dt>Returns:</dt>
<dd>an iterator to walk the managed stack frames in order from
top-of-stack (that is, the most recent frame) to bottom-of-stack</dd>
<dt>See Also:</dt>
<dd><a href="../JavaStackFrame.html" title="interface in com.ibm.dtfj.java"><code>JavaStackFrame</code></a>,
<a href="../../image/CorruptData.html" title="interface in com.ibm.dtfj.image"><code>CorruptData</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="getName()">
<h3>getName</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link" target="_blank">String</a></span>&nbsp;<span class="element-name">getName</span>()
throws <span class="exceptions"><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaThread.html#getName()">JavaThread</a></code></span></div>
<div class="block">Return the name of the thread.
Usually this is derived from the object associated with the thread, but if the
name cannot be derived this way (e.g. there is no object associated with the thread)
DTFJ will synthesize a name for the thread.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaThread.html#getName()">getName</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaThread.html" title="interface in com.ibm.dtfj.java">JavaThread</a></code></dd>
<dt>Returns:</dt>
<dd>the name of the thread</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addFrame(java.lang.Object)">
<h3>addFrame</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addFrame</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a>&nbsp;frame)</span></div>
</section>
</li>
<li>
<section class="detail" id="setStackSection(long,long)">
<h3>setStackSection</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setStackSection</span>&#8203;<span class="parameters">(long&nbsp;base,
long&nbsp;size)</span></div>
</section>
</li>
<li>
<section class="detail" id="equals(java.lang.Object)">
<h3>equals</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">equals</span>&#8203;<span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a>&nbsp;obj)</span></div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link" target="_blank">java.lang.Object</a></code></span></div>
<div class="block">Compares the argument to the receiver, and answers true
if they represent the <em>same</em> object using a class
specific comparison. The implementation in Object answers
true only if the argument is the exact same object as the
receiver (==).</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaThread.html#equals(java.lang.Object)">equals</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaThread.html" title="interface in com.ibm.dtfj.java">JavaThread</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link" target="_blank">equals</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a></code></dd>
<dt>Parameters:</dt>
<dd><code>obj</code> - Object
the object to compare with this object.</dd>
<dt>Returns:</dt>
<dd>boolean
<code>true</code>
if the object is the same as this object
<code>false</code>
if it is different from this object.</dd>
<dt>See Also:</dt>
<dd><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link" target="_blank"><code>Object.hashCode()</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="hashCode()">
<h3>hashCode</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">int</span>&nbsp;<span class="element-name">hashCode</span>()</div>
<div class="block"><span class="descfrm-type-label">Description copied from class:&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link" target="_blank">java.lang.Object</a></code></span></div>
<div class="block">Answers an integer hash code for the receiver. Any two
objects which answer <code>true</code> when passed to
<code>.equals</code> must answer the same value for this
method.</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaThread.html#hashCode()">hashCode</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaThread.html" title="interface in com.ibm.dtfj.java">JavaThread</a></code></dd>
<dt>Overrides:</dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link" target="_blank">hashCode</a></code>&nbsp;in class&nbsp;<code><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link" target="_blank">Object</a></code></dd>
<dt>Returns:</dt>
<dd>the receiver's hash.</dd>
<dt>See Also:</dt>
<dd><a href="https://docs.oracle.com/en/java/javase/16/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link" target="_blank"><code>Object.equals(java.lang.Object)</code></a></dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addNewStackFrame(long,long,long,int)">
<h3>addNewStackFrame</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="JavaStackFrame.html" title="class in com.ibm.dtfj.java.j9">JavaStackFrame</a></span>&nbsp;<span class="element-name">addNewStackFrame</span>&#8203;<span class="parameters">(long&nbsp;arguments,
long&nbsp;method,
long&nbsp;pc,
int&nbsp;lineNumber)</span></div>
</section>
</li>
<li>
<section class="detail" id="setStackCorrupt()">
<h3>setStackCorrupt</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">setStackCorrupt</span>()</div>
<div class="block">Called by the parser if it finds an error tag where the stack was expected</div>
</section>
</li>
<li>
<section class="detail" id="getBlockingObject()">
<h3>getBlockingObject</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type"><a href="../JavaObject.html" title="interface in com.ibm.dtfj.java">JavaObject</a></span>&nbsp;<span class="element-name">getBlockingObject</span>()
throws <span class="exceptions"><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a>,
<a href="../../image/DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a></span></div>
<div class="block"><span class="descfrm-type-label">Description copied from interface:&nbsp;<code><a href="../JavaThread.html#getBlockingObject()">JavaThread</a></code></span></div>
<div class="block">For threads that are in STATE_BLOCKED_ON_MONITOR_ENTER this method returns the JavaObject who's monitor they are blocked on.
For threads that are in STATE_IN_OBJECT_WAIT this method returns the JavaObject that Object.wait() was called on.
For threads that are in STATE_PARKED this method returns the JavaObject that was passed as the "blocker" object to the java.util.concurrent.LockSupport.park() call. It may return null if no blocker object was passed.
For threads in any other state this call will return null.
The state of the thread can be determined by calling JavaThread.getState()</div>
<dl class="notes">
<dt>Specified by:</dt>
<dd><code><a href="../JavaThread.html#getBlockingObject()">getBlockingObject</a></code>&nbsp;in interface&nbsp;<code><a href="../JavaThread.html" title="interface in com.ibm.dtfj.java">JavaThread</a></code></dd>
<dt>Returns:</dt>
<dd>the object this thread is waiting on or null.</dd>
<dt>Throws:</dt>
<dd><code><a href="../../image/CorruptDataException.html" title="class in com.ibm.dtfj.image">CorruptDataException</a></code></dd>
<dd><code><a href="../../image/DataUnavailable.html" title="class in com.ibm.dtfj.image">DataUnavailable</a></code></dd>
</dl>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
<footer role="contentinfo">
<hr>
<p class="legal-copy"><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, 2021, IBM Corp. and others.</small></p>
</footer>
</div>
</div>
</body>
</html>