blob: 00488c697e2eb49d65acb57b7a16a13d667d7739 [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>J9MemTagHelper (OpenJ9 JDK 11)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="keywords" content="com.ibm.j9ddr.vm29.pointer.helper.J9MemTagHelper class">
<meta name="keywords" content="ROUNDING_GRANULARITY">
<meta name="keywords" content="J9PORT_MEMTAG_HEADER_TAG_CORRUPTED">
<meta name="keywords" content="J9PORT_MEMTAG_FOOTER_TAG_CORRUPTED">
<meta name="keywords" content="J9PORT_MEMTAG_FOOTER_PADDING_CORRUPTED">
<meta name="keywords" content="J9PORT_MEMTAG_NOT_A_TAG">
<meta name="keywords" content="J9PORT_MEMTAG_VALID_TAG">
<meta name="keywords" content="j9mem_check_tags()">
<meta name="keywords" content="checkTagSumCheck()">
<meta name="keywords" content="j9mem_get_memory_base()">
<meta name="keywords" content="j9mem_get_footer_tag()">
<meta name="keywords" content="j9mem_get_header_tag()">
<meta name="keywords" content="checkPadding()">
<meta name="keywords" content="j9mem_get_footer_padding()">
<meta name="keywords" content="ROUNDED_FOOTER_OFFSET()">
<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="J9MemTagHelper (OpenJ9 JDK 11)";
}
}
catch(err) {
}
//-->
var data = {"i0":9,"i1":9,"i2":9,"i3":9,"i4":9,"i5":9,"i6":9,"i7":9};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],8:["t4","Concrete 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/J9MemTagHelper.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><a href="#nested.class.summary">Nested</a>&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="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&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.j9ddr.vm29.pointer.helper</a></div>
<h2 title="Class J9MemTagHelper" class="title">Class J9MemTagHelper</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">java.lang.Object</a></li>
<li>
<ul class="inheritance">
<li>com.ibm.j9ddr.vm29.pointer.helper.J9MemTagHelper</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public class <span class="typeNameLabel">J9MemTagHelper</span>
extends <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Object</a></pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- ======== NESTED CLASS SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="nested.class.summary">
<!-- -->
</a>
<h3>Nested Class Summary</h3>
<table class="memberSummary">
<caption><span>Nested Classes</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Class</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static class&nbsp;</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="J9MemTagHelper.J9MemTagCheckError.html" title="class in com.ibm.j9ddr.vm29.pointer.helper">J9MemTagHelper.J9MemTagCheckError</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../types/IDATA.html" title="class in com.ibm.j9ddr.vm29.types">IDATA</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#J9PORT_MEMTAG_FOOTER_PADDING_CORRUPTED">J9PORT_MEMTAG_FOOTER_PADDING_CORRUPTED</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../types/IDATA.html" title="class in com.ibm.j9ddr.vm29.types">IDATA</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#J9PORT_MEMTAG_FOOTER_TAG_CORRUPTED">J9PORT_MEMTAG_FOOTER_TAG_CORRUPTED</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../types/IDATA.html" title="class in com.ibm.j9ddr.vm29.types">IDATA</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#J9PORT_MEMTAG_HEADER_TAG_CORRUPTED">J9PORT_MEMTAG_HEADER_TAG_CORRUPTED</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static <a href="../../types/IDATA.html" title="class in com.ibm.j9ddr.vm29.types">IDATA</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#J9PORT_MEMTAG_NOT_A_TAG">J9PORT_MEMTAG_NOT_A_TAG</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static <a href="../../types/IDATA.html" title="class in com.ibm.j9ddr.vm29.types">IDATA</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#J9PORT_MEMTAG_VALID_TAG">J9PORT_MEMTAG_VALID_TAG</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ROUNDING_GRANULARITY">ROUNDING_GRANULARITY</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">J9MemTagHelper</a></span>()</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== 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="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete 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>static void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkPadding(com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer)">checkPadding</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer&nbsp;headerTagAddress)</code></th>
<td class="colLast">
<div class="block">Checks that the padding associated with the memory block has not been
corrupted</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#checkTagSumCheck(com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer,long)">checkTagSumCheck</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer&nbsp;tag,
long&nbsp;eyeCatcher)</code></th>
<td class="colLast">
<div class="block">Checks that the memory tag is not corrupt.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>static <a href="../../types/IDATA.html" title="class in com.ibm.j9ddr.vm29.types">IDATA</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#j9mem_check_tags(com.ibm.j9ddr.vm29.pointer.VoidPointer,long,long)">j9mem_check_tags</a></span>&#8203;(<a href="../VoidPointer.html" title="class in com.ibm.j9ddr.vm29.pointer">VoidPointer</a>&nbsp;memoryPointer,
long&nbsp;headerEyecatcher,
long&nbsp;footerEyecatcher)</code></th>
<td class="colLast">
<div class="block">Performs validation checks on the memory block starting at memoryPointer.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>static <a href="../VoidPointer.html" title="class in com.ibm.j9ddr.vm29.pointer">VoidPointer</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#j9mem_get_footer_padding(com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer)">j9mem_get_footer_padding</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer&nbsp;headerEyeCatcherAddress)</code></th>
<td class="colLast">
<div class="block">Given the address of the headerEyecatcher for the memory block, return
the address of the footer padding.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#j9mem_get_footer_tag(com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer)">j9mem_get_footer_tag</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer&nbsp;headerEyeCatcherAddress)</code></th>
<td class="colLast">
<div class="block">Given the address of the headerEyecatcher for the memory block, return
the address of the corresponding footer tag.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>static com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#j9mem_get_header_tag(com.ibm.j9ddr.vm29.pointer.VoidPointer)">j9mem_get_header_tag</a></span>&#8203;(<a href="../VoidPointer.html" title="class in com.ibm.j9ddr.vm29.pointer">VoidPointer</a>&nbsp;memoryPointer)</code></th>
<td class="colLast">
<div class="block">Given the address returned by @ref j9mem_allocate_memory(), return
address of the header tag for the memory block</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>static <a href="../VoidPointer.html" title="class in com.ibm.j9ddr.vm29.pointer">VoidPointer</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#j9mem_get_memory_base(com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer)">j9mem_get_memory_base</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer&nbsp;headerEyeCatcherAddress)</code></th>
<td class="colLast">
<div class="block">Given the address of the headerEyecatcher for the memory block, return
the memory pointer that was returned by j9mem_allocate_memory() when the
block was allocated.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>static <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#ROUNDED_FOOTER_OFFSET(com.ibm.j9ddr.vm29.types.UDATA)">ROUNDED_FOOTER_OFFSET</a></span>&#8203;(<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;number)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods declared in class&nbsp;java.lang.<a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true" title="class or interface in java.lang" class="externalLink" target="_blank">Object</a></h3>
<code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#clone()" title="class or interface in java.lang" class="externalLink" target="_blank">clone</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#equals(java.lang.Object)" title="class or interface in java.lang" class="externalLink" target="_blank">equals</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#finalize()" title="class or interface in java.lang" class="externalLink" target="_blank">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#getClass()" title="class or interface in java.lang" class="externalLink" target="_blank">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#hashCode()" title="class or interface in java.lang" class="externalLink" target="_blank">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notify()" title="class or interface in java.lang" class="externalLink" target="_blank">notify</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#notifyAll()" title="class or interface in java.lang" class="externalLink" target="_blank">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#toString()" title="class or interface in java.lang" class="externalLink" target="_blank">toString</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait()" title="class or interface in java.lang" class="externalLink" target="_blank">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long)" title="class or interface in java.lang" class="externalLink" target="_blank">wait</a>, <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/lang/Object.html?is-external=true#wait(long,int)" title="class or interface in java.lang" class="externalLink" target="_blank">wait</a></code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="ROUNDING_GRANULARITY">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>ROUNDING_GRANULARITY</h4>
<pre>public static final&nbsp;long ROUNDING_GRANULARITY</pre>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../constant-values.html#com.ibm.j9ddr.vm29.pointer.helper.J9MemTagHelper.ROUNDING_GRANULARITY">Constant Field Values</a></dd>
</dl>
</li>
</ul>
<a id="J9PORT_MEMTAG_HEADER_TAG_CORRUPTED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>J9PORT_MEMTAG_HEADER_TAG_CORRUPTED</h4>
<pre>public static&nbsp;<a href="../../types/IDATA.html" title="class in com.ibm.j9ddr.vm29.types">IDATA</a> J9PORT_MEMTAG_HEADER_TAG_CORRUPTED</pre>
</li>
</ul>
<a id="J9PORT_MEMTAG_FOOTER_TAG_CORRUPTED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>J9PORT_MEMTAG_FOOTER_TAG_CORRUPTED</h4>
<pre>public static&nbsp;<a href="../../types/IDATA.html" title="class in com.ibm.j9ddr.vm29.types">IDATA</a> J9PORT_MEMTAG_FOOTER_TAG_CORRUPTED</pre>
</li>
</ul>
<a id="J9PORT_MEMTAG_FOOTER_PADDING_CORRUPTED">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>J9PORT_MEMTAG_FOOTER_PADDING_CORRUPTED</h4>
<pre>public static&nbsp;<a href="../../types/IDATA.html" title="class in com.ibm.j9ddr.vm29.types">IDATA</a> J9PORT_MEMTAG_FOOTER_PADDING_CORRUPTED</pre>
</li>
</ul>
<a id="J9PORT_MEMTAG_NOT_A_TAG">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>J9PORT_MEMTAG_NOT_A_TAG</h4>
<pre>public static&nbsp;<a href="../../types/IDATA.html" title="class in com.ibm.j9ddr.vm29.types">IDATA</a> J9PORT_MEMTAG_NOT_A_TAG</pre>
</li>
</ul>
<a id="J9PORT_MEMTAG_VALID_TAG">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>J9PORT_MEMTAG_VALID_TAG</h4>
<pre>public static&nbsp;<a href="../../types/IDATA.html" title="class in com.ibm.j9ddr.vm29.types">IDATA</a> J9PORT_MEMTAG_VALID_TAG</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>J9MemTagHelper</h4>
<pre>public&nbsp;J9MemTagHelper()</pre>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="j9mem_check_tags(com.ibm.j9ddr.vm29.pointer.VoidPointer,long,long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>j9mem_check_tags</h4>
<pre class="methodSignature">public static&nbsp;<a href="../../types/IDATA.html" title="class in com.ibm.j9ddr.vm29.types">IDATA</a>&nbsp;j9mem_check_tags&#8203;(<a href="../VoidPointer.html" title="class in com.ibm.j9ddr.vm29.pointer">VoidPointer</a>&nbsp;memoryPointer,
long&nbsp;headerEyecatcher,
long&nbsp;footerEyecatcher)
throws <a href="J9MemTagHelper.J9MemTagCheckError.html" title="class in com.ibm.j9ddr.vm29.pointer.helper">J9MemTagHelper.J9MemTagCheckError</a></pre>
<div class="block">Performs validation checks on the memory block starting at memoryPointer.
The memory passed in could fall into one of three categories:
1) It could be a valid J9MemTag region with valid headers and footers
2) It could be not be a J9MemTag region
3) It could be a J9MemTag region with some corruption in either the header, footer or padding</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>J9PORT_MEMTAG_NOT_A_TAG if memoryPointer address is not a tag
J9PORT_MEMTAG_HEADER_TAG_CORRUPTED if memoryPointer address is valid tag region but header tag is corrupted.
J9PORT_MEMTAG_FOOTER_TAG_CORRUPTED if memoryPointer address is valid tag region but footer tag is corrupted.
J9PORT_MEMTAG_FOOTER_PADDING_CORRUPTED if memoryPointer address is valid tag region but footer padding is corrupted.
J9PORT_MEMTAG_VALID_TAG if memoryPointer address is valid tag and header/footer are not corrupted.</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code> - if the tags are corrupted, or the memory is inaccessible. (Option 3)</dd>
<dd><code><a href="J9MemTagHelper.J9MemTagCheckError.html" title="class in com.ibm.j9ddr.vm29.pointer.helper">J9MemTagHelper.J9MemTagCheckError</a></code></dd>
</dl>
</li>
</ul>
<a id="checkTagSumCheck(com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer,long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkTagSumCheck</h4>
<pre class="methodSignature">public static&nbsp;void&nbsp;checkTagSumCheck&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer&nbsp;tag,
long&nbsp;eyeCatcher)
throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Checks that the memory tag is not corrupt.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd>
</dl>
</li>
</ul>
<a id="j9mem_get_memory_base(com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>j9mem_get_memory_base</h4>
<pre class="methodSignature">public static&nbsp;<a href="../VoidPointer.html" title="class in com.ibm.j9ddr.vm29.pointer">VoidPointer</a>&nbsp;j9mem_get_memory_base&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer&nbsp;headerEyeCatcherAddress)</pre>
<div class="block">Given the address of the headerEyecatcher for the memory block, return
the memory pointer that was returned by j9mem_allocate_memory() when the
block was allocated.</div>
</li>
</ul>
<a id="j9mem_get_footer_tag(com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>j9mem_get_footer_tag</h4>
<pre class="methodSignature">public static&nbsp;com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer&nbsp;j9mem_get_footer_tag&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer&nbsp;headerEyeCatcherAddress)
throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Given the address of the headerEyecatcher for the memory block, return
the address of the corresponding footer tag.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd>
</dl>
</li>
</ul>
<a id="j9mem_get_header_tag(com.ibm.j9ddr.vm29.pointer.VoidPointer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>j9mem_get_header_tag</h4>
<pre class="methodSignature">public static&nbsp;com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer&nbsp;j9mem_get_header_tag&#8203;(<a href="../VoidPointer.html" title="class in com.ibm.j9ddr.vm29.pointer">VoidPointer</a>&nbsp;memoryPointer)</pre>
<div class="block">Given the address returned by @ref j9mem_allocate_memory(), return
address of the header tag for the memory block</div>
</li>
</ul>
<a id="checkPadding(com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>checkPadding</h4>
<pre class="methodSignature">public static&nbsp;void&nbsp;checkPadding&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer&nbsp;headerTagAddress)
throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Checks that the padding associated with the memory block has not been
corrupted</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd>
</dl>
</li>
</ul>
<a id="j9mem_get_footer_padding(com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>j9mem_get_footer_padding</h4>
<pre class="methodSignature">public static&nbsp;<a href="../VoidPointer.html" title="class in com.ibm.j9ddr.vm29.pointer">VoidPointer</a>&nbsp;j9mem_get_footer_padding&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9MemTagPointer&nbsp;headerEyeCatcherAddress)
throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Given the address of the headerEyecatcher for the memory block, return
the address of the footer padding.
Note that there not be any padding, in which case this returns the same
as @ref j9mem_get_footer_tag(), the address of the footer tag.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd>
</dl>
</li>
</ul>
<a id="ROUNDED_FOOTER_OFFSET(com.ibm.j9ddr.vm29.types.UDATA)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ROUNDED_FOOTER_OFFSET</h4>
<pre class="methodSignature">public static&nbsp;<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;ROUNDED_FOOTER_OFFSET&#8203;(<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;number)</pre>
</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/J9MemTagHelper.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><a href="#nested.class.summary">Nested</a>&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="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&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, 2021, IBM Corp. and others.</small></p>
</footer>
</body>
</html>