<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>GCArrayletObjectModelBase (OpenJ9 JDK 11)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="keywords" content="com.ibm.j9ddr.vm29.j9.gc.GCArrayletObjectModelBase class">
<meta name="keywords" content="arrayletObjectModel">
<meta name="keywords" content="arrayletRangeBase">
<meta name="keywords" content="arrayletRangeTop">
<meta name="keywords" content="largestDesirableArraySpineSize">
<meta name="keywords" content="arrayletLeafSize">
<meta name="keywords" content="arrayletLeafLogSize">
<meta name="keywords" content="arrayletLeafSizeMask">
<meta name="keywords" content="getSpineSize()">
<meta name="keywords" content="getSizeInElements()">
<meta name="keywords" content="getHeaderSize()">
<meta name="keywords" content="getSpineSizeWithoutHeader()">
<meta name="keywords" content="getArrayLayout()">
<meta name="keywords" content="getDataSizeInBytes()">
<meta name="keywords" content="getArrayoidPointer()">
<meta name="keywords" content="getDataPointerForContiguous()">
<meta name="keywords" content="getHashcodeOffset()">
<meta name="keywords" content="isInlineContiguousArraylet()">
<meta name="keywords" content="shouldAlignSpineDataSection()">
<meta name="keywords" content="getElementAddress()">
<meta name="keywords" content="numArraylets()">
<meta name="keywords" content="numExternalArraylets()">
<meta name="keywords" content="externalArrayletsSize()">
<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="GCArrayletObjectModelBase (OpenJ9 JDK 11)";
        }
    }
    catch(err) {
    }
//-->
var data = {"i0":10,"i1":9,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10,"i11":6,"i12":10,"i13":10,"i14":10,"i15":10,"i16":10,"i17":6,"i18":10,"i19":10,"i20":10,"i21":10,"i22":10};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract 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/GCArrayletObjectModelBase.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><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.j9.gc</a></div>
<h2 title="Class GCArrayletObjectModelBase" class="title">Class GCArrayletObjectModelBase</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><a href="GCBase.html" title="class in com.ibm.j9ddr.vm29.j9.gc">com.ibm.j9ddr.vm29.j9.gc.GCBase</a></li>
<li>
<ul class="inheritance">
<li>com.ibm.j9ddr.vm29.j9.gc.GCArrayletObjectModelBase</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<hr>
<pre>public abstract class <span class="typeNameLabel">GCArrayletObjectModelBase</span>
extends <a href="GCBase.html" title="class in com.ibm.j9ddr.vm29.j9.gc">GCBase</a></pre>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== 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>protected <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="#arrayletLeafLogSize">arrayletLeafLogSize</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <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="#arrayletLeafSize">arrayletLeafSize</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <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="#arrayletLeafSizeMask">arrayletLeafSizeMask</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected com.ibm.j9ddr.vm29.pointer.generated.GC_ArrayletObjectModelPointer</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#arrayletObjectModel">arrayletObjectModel</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <a href="../../pointer/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="#arrayletRangeBase">arrayletRangeBase</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>protected <a href="../../pointer/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="#arrayletRangeTop">arrayletRangeTop</a></span></code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected <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="#largestDesirableArraySpineSize">largestDesirableArraySpineSize</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()">GCArrayletObjectModelBase</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="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><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>protected <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="#externalArrayletsSize(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">externalArrayletsSize</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;arrayPtr)</code></th>
<td class="colLast">
<div class="block">Get the total number of bytes consumed by arraylets external to the
 given indexable object.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>static com.ibm.j9ddr.vm29.j9.gc.GCArrayObjectModel</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#from()">from</a></span>()</code></th>
<td class="colLast">
<div class="block">Factory method to construct an appropriate array object model.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getArrayLayout(com.ibm.j9ddr.vm29.pointer.generated.J9ArrayClassPointer,com.ibm.j9ddr.vm29.types.UDATA)">getArrayLayout</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9ArrayClassPointer&nbsp;clazz,
              <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;dataSizeInBytes)</code></th>
<td class="colLast">
<div class="block">Get the layout of an indexable object given it's class, data size in bytes and the subspace's largestDesirableSpine.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>protected long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getArrayLayout(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">getArrayLayout</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array)</code></th>
<td class="colLast">
<div class="block">Get the layout for the given indexable object</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code><a href="../../pointer/ObjectReferencePointer.html" title="class in com.ibm.j9ddr.vm29.pointer">ObjectReferencePointer</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getArrayoidPointer(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">getArrayoidPointer</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;arrayPtr)</code></th>
<td class="colLast">
<div class="block">Returns the address of first arraylet leaf slot in the spine</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code><a href="../../pointer/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="#getDataPointerForContiguous(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">getDataPointerForContiguous</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;arrayPtr)</code></th>
<td class="colLast">
<div class="block">Returns the address of first data slot in the array</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code><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="#getDataSizeInBytes(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">getDataSizeInBytes</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array)</code></th>
<td class="colLast">
<div class="block">Returns the size of data in an indexable object, in bytes, including leaves, excluding the header.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code><a href="../../pointer/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="#getElementAddress(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer,int,int)">getElementAddress</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array,
                 int&nbsp;elementIndex,
                 int&nbsp;elementSize)</code></th>
<td class="colLast">
<div class="block">Returns the address of the element at elementIndex logical offset into indexableObjectPointer, assuming that each
 element is dataSize bytes.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code><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="#getHashcodeOffset(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">getHashcodeOffset</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array)</code></th>
<td class="colLast">
<div class="block">Returns the offset of the hashcode slot, in bytes, from the beginning of the header.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>protected <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="#getHeaderSize(long)">getHeaderSize</a></span>&#8203;(long&nbsp;layout)</code></th>
<td class="colLast">
<div class="block">Get the spine size without header for an arraylet with these properties</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code><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="#getHeaderSize(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">getHeaderSize</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array)</code></th>
<td class="colLast">
<div class="block">Returns the header size of a given indexable object.</div>
</td>
</tr>
<tr id="i11" class="rowColor">
<td class="colFirst"><code>abstract <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="#getSizeInBytesWithHeader(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">getSizeInBytesWithHeader</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array)</code></th>
<td class="colLast">
<div class="block">Returns the size of an indexable object, in bytes, including the header.</div>
</td>
</tr>
<tr id="i12" class="altColor">
<td class="colFirst"><code><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="#getSizeInElements(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">getSizeInElements</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array)</code></th>
<td class="colLast">
<div class="block">Returns the size of an indexable object in elements.</div>
</td>
</tr>
<tr id="i13" class="rowColor">
<td class="colFirst"><code><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="#getSizeInSlotsWithHeader(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">getSizeInSlotsWithHeader</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array)</code></th>
<td class="colLast">
<div class="block">Returns the size of an indexable object, in slots, including the header.</div>
</td>
</tr>
<tr id="i14" class="altColor">
<td class="colFirst"><code>protected <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="#getSpineSize(long,com.ibm.j9ddr.vm29.types.UDATA,com.ibm.j9ddr.vm29.types.UDATA,boolean)">getSpineSize</a></span>&#8203;(long&nbsp;layout,
            <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;numberArraylets,
            <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;dataSize,
            boolean&nbsp;alignData)</code></th>
<td class="colLast">
<div class="block">Get the spine size for an arraylet with these properties</div>
</td>
</tr>
<tr id="i15" class="rowColor">
<td class="colFirst"><code>protected <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="#getSpineSize(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">getSpineSize</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array)</code></th>
<td class="colLast">
<div class="block">Get the spine size for the given indexable object</div>
</td>
</tr>
<tr id="i16" class="altColor">
<td class="colFirst"><code>protected <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="#getSpineSizeWithoutHeader(long,com.ibm.j9ddr.vm29.types.UDATA,com.ibm.j9ddr.vm29.types.UDATA,boolean)">getSpineSizeWithoutHeader</a></span>&#8203;(long&nbsp;layout,
                         <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;numberArraylets,
                         <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;dataSize,
                         boolean&nbsp;alignData)</code></th>
<td class="colLast">
<div class="block">Get the spine size without header for an arraylet with these properties</div>
</td>
</tr>
<tr id="i17" class="rowColor">
<td class="colFirst"><code>abstract <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="#getTotalFootprintInBytesWithHeader(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">getTotalFootprintInBytesWithHeader</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;arrayPtr)</code></th>
<td class="colLast">
<div class="block">Get the total footprint of an object, in bytes, including the object header and all data.</div>
</td>
</tr>
<tr id="i18" class="altColor">
<td class="colFirst"><code>boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isInlineContiguousArraylet(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">isInlineContiguousArraylet</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array)</code></th>
<td class="colLast">
<div class="block">Check the given indexable object is inline contiguous</div>
</td>
</tr>
<tr id="i19" class="rowColor">
<td class="colFirst"><code>protected <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="#numArraylets(com.ibm.j9ddr.vm29.types.UDATA)">numArraylets</a></span>&#8203;(<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;unadjustedDataSizeInBytes)</code></th>
<td class="colLast">
<div class="block">Return the total number of arraylets for an indexable object with a size of dataInSizeByte, including a (possibly empty) leaf in the spine.</div>
</td>
</tr>
<tr id="i20" class="altColor">
<td class="colFirst"><code>protected <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="#numExternalArraylets(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">numExternalArraylets</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array)</code></th>
<td class="colLast">
<div class="block">Return the total number of arraylets for an indexable object, not including the arraylet in the spine.</div>
</td>
</tr>
<tr id="i21" class="rowColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#shouldAlignSpineDataSection(com.ibm.j9ddr.vm29.pointer.generated.J9ArrayClassPointer)">shouldAlignSpineDataSection</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9ArrayClassPointer&nbsp;clazz)</code></th>
<td class="colLast">
<div class="block">Determines whether or not a spine that represents an object of this
 class should have its data section aligned.</div>
</td>
</tr>
<tr id="i22" class="altColor">
<td class="colFirst"><code>protected boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#shouldAlignSpineDataSection(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer)">shouldAlignSpineDataSection</a></span>&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer&nbsp;clazz)</code></th>
<td class="colLast">
<div class="block">Determines whether or not a spine that represents an object of this
 class should have its data section aligned.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.ibm.j9ddr.vm29.j9.gc.GCBase">
<!--   -->
</a>
<h3>Methods declared in class&nbsp;com.ibm.j9ddr.vm29.j9.gc.<a href="GCBase.html" title="class in com.ibm.j9ddr.vm29.j9.gc">GCBase</a></h3>
<code><a href="GCBase.html#getExtensions()">getExtensions</a>, <a href="GCBase.html#getJavaVM()">getJavaVM</a></code></li>
</ul>
<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="arrayletObjectModel">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>arrayletObjectModel</h4>
<pre>protected&nbsp;com.ibm.j9ddr.vm29.pointer.generated.GC_ArrayletObjectModelPointer arrayletObjectModel</pre>
</li>
</ul>
<a id="arrayletRangeBase">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>arrayletRangeBase</h4>
<pre>protected&nbsp;<a href="../../pointer/VoidPointer.html" title="class in com.ibm.j9ddr.vm29.pointer">VoidPointer</a> arrayletRangeBase</pre>
</li>
</ul>
<a id="arrayletRangeTop">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>arrayletRangeTop</h4>
<pre>protected&nbsp;<a href="../../pointer/VoidPointer.html" title="class in com.ibm.j9ddr.vm29.pointer">VoidPointer</a> arrayletRangeTop</pre>
</li>
</ul>
<a id="largestDesirableArraySpineSize">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>largestDesirableArraySpineSize</h4>
<pre>protected&nbsp;<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a> largestDesirableArraySpineSize</pre>
</li>
</ul>
<a id="arrayletLeafSize">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>arrayletLeafSize</h4>
<pre>protected&nbsp;<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a> arrayletLeafSize</pre>
</li>
</ul>
<a id="arrayletLeafLogSize">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>arrayletLeafLogSize</h4>
<pre>protected&nbsp;<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a> arrayletLeafLogSize</pre>
</li>
</ul>
<a id="arrayletLeafSizeMask">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>arrayletLeafSizeMask</h4>
<pre>protected&nbsp;<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a> arrayletLeafSizeMask</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>GCArrayletObjectModelBase</h4>
<pre>public&nbsp;GCArrayletObjectModelBase()
                          throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<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>
</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="getSpineSize(long,com.ibm.j9ddr.vm29.types.UDATA,com.ibm.j9ddr.vm29.types.UDATA,boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSpineSize</h4>
<pre class="methodSignature">protected&nbsp;<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;getSpineSize&#8203;(long&nbsp;layout,
                             <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;numberArraylets,
                             <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;dataSize,
                             boolean&nbsp;alignData)
                      throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Get the spine size for an arraylet with these properties</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>J9Class</code> - The class of the array.</dd>
<dd><code>layout</code> - The layout of the indexable object</dd>
<dd><code>numberArraylets</code> - Number of arraylets for this indexable object</dd>
<dd><code>dataSize</code> - How many elements are in the indexable object</dd>
<dd><code>alignData</code> - Should the data section be aligned</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>spineSize The actual size in byte of the spine</dd>
<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="getSizeInElements(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSizeInElements</h4>
<pre class="methodSignature">public&nbsp;<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;getSizeInElements&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array)
                        throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Returns the size of an indexable object in elements.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>array</code> - Pointer to the indexable object whose size is required</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Size of object in elements</dd>
<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="getHeaderSize(long)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHeaderSize</h4>
<pre class="methodSignature">protected&nbsp;<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;getHeaderSize&#8203;(long&nbsp;layout)</pre>
<div class="block">Get the spine size without header for an arraylet with these properties</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>layout</code> - The layout of the indexable object</dd>
<dd><code>numberArraylets</code> - Number of arraylets for this indexable object</dd>
<dd><code>dataSize</code> - How many elements are in the indexable object</dd>
<dd><code>alignData</code> - Should the data section be aligned</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>spineSize The actual size in byte of the spine</dd>
</dl>
</li>
</ul>
<a id="getHeaderSize(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHeaderSize</h4>
<pre class="methodSignature">public&nbsp;<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;getHeaderSize&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array)
                    throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Returns the header size of a given indexable object. The arraylet layout is determined base on "small" size.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>array</code> - Ptr to an array for which header size will be returned</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Size of header in bytes</dd>
<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="getSpineSizeWithoutHeader(long,com.ibm.j9ddr.vm29.types.UDATA,com.ibm.j9ddr.vm29.types.UDATA,boolean)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSpineSizeWithoutHeader</h4>
<pre class="methodSignature">protected&nbsp;<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;getSpineSizeWithoutHeader&#8203;(long&nbsp;layout,
                                          <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;numberArraylets,
                                          <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;dataSize,
                                          boolean&nbsp;alignData)
                                   throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Get the spine size without header for an arraylet with these properties</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>layout</code> - The layout of the indexable object</dd>
<dd><code>numberArraylets</code> - Number of arraylets for this indexable object</dd>
<dd><code>dataSize</code> - How many elements are in the indexable object</dd>
<dd><code>alignData</code> - Should the data section be aligned</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>spineSize The actual size in byte of the spine</dd>
<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="getSpineSize(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSpineSize</h4>
<pre class="methodSignature">protected&nbsp;<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;getSpineSize&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array)
                      throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Get the spine size for the given indexable object</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>objPtr</code> - Pointer to an array object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>The total size in bytes of objPtr's array spine;
                        includes header, arraylet ptrs, and (if present) padding & inline data</dd>
<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="getArrayLayout(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getArrayLayout</h4>
<pre class="methodSignature">protected&nbsp;long&nbsp;getArrayLayout&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array)
                       throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Get the layout for the given indexable object</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>objPtr</code> - Pointer to a array object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the ArrayLayout for objectPtr</dd>
<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="getArrayLayout(com.ibm.j9ddr.vm29.pointer.generated.J9ArrayClassPointer,com.ibm.j9ddr.vm29.types.UDATA)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getArrayLayout</h4>
<pre class="methodSignature">protected&nbsp;long&nbsp;getArrayLayout&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9ArrayClassPointer&nbsp;clazz,
                              <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;dataSizeInBytes)
                       throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Get the layout of an indexable object given it's class, data size in bytes and the subspace's largestDesirableSpine.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>clazz</code> - The class of the object stored in the array.</dd>
<dd><code>dataSizeInBytes</code> - the size in bytes of the data of the array.</dd>
<dd><code>largestDesirableSpine</code> - The largest desirable spine of the arraylet.</dd>
<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="getDataSizeInBytes(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDataSizeInBytes</h4>
<pre class="methodSignature">public&nbsp;<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;getDataSizeInBytes&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array)
                         throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Returns the size of data in an indexable object, in bytes, including leaves, excluding the header.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>arrayPtr</code> - Pointer to the indexable object whose size is required</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Size of object in bytes excluding the header</dd>
<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="getArrayoidPointer(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getArrayoidPointer</h4>
<pre class="methodSignature">public&nbsp;<a href="../../pointer/ObjectReferencePointer.html" title="class in com.ibm.j9ddr.vm29.pointer">ObjectReferencePointer</a>&nbsp;getArrayoidPointer&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;arrayPtr)
                                          throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Returns the address of first arraylet leaf slot in the spine</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>arrayPtr</code> - Ptr to an array</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Arrayoid ptr</dd>
<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="getDataPointerForContiguous(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getDataPointerForContiguous</h4>
<pre class="methodSignature">public&nbsp;<a href="../../pointer/VoidPointer.html" title="class in com.ibm.j9ddr.vm29.pointer">VoidPointer</a>&nbsp;getDataPointerForContiguous&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;arrayPtr)
                                        throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Returns the address of first data slot in the array</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>arrayPtr</code> - pointer to an array</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Address of first data slot in the array</dd>
<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="getHashcodeOffset(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getHashcodeOffset</h4>
<pre class="methodSignature">public&nbsp;<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;getHashcodeOffset&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array)
                        throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Returns the offset of the hashcode slot, in bytes, from the beginning of the header.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>offset of the hashcode slot</dd>
<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="isInlineContiguousArraylet(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isInlineContiguousArraylet</h4>
<pre class="methodSignature">public&nbsp;boolean&nbsp;isInlineContiguousArraylet&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array)
                                   throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Check the given indexable object is inline contiguous</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>objPtr</code> - Pointer to an array object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>true of array is inline contiguous</dd>
<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="shouldAlignSpineDataSection(com.ibm.j9ddr.vm29.pointer.generated.J9ArrayClassPointer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldAlignSpineDataSection</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;shouldAlignSpineDataSection&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9ArrayClassPointer&nbsp;clazz)
                                       throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Determines whether or not a spine that represents an object of this
 class should have its data section aligned.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>clazz</code> - The class to check alignment for</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>needAlignment Should the data section be aligned</dd>
<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="shouldAlignSpineDataSection(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>shouldAlignSpineDataSection</h4>
<pre class="methodSignature">protected&nbsp;boolean&nbsp;shouldAlignSpineDataSection&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer&nbsp;clazz)
                                       throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Determines whether or not a spine that represents an object of this
 class should have its data section aligned.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>clazz</code> - The class to check alignment for</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>needAlignment Should the data section be aligned</dd>
<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="getElementAddress(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer,int,int)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getElementAddress</h4>
<pre class="methodSignature">public&nbsp;<a href="../../pointer/VoidPointer.html" title="class in com.ibm.j9ddr.vm29.pointer">VoidPointer</a>&nbsp;getElementAddress&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array,
                                     int&nbsp;elementIndex,
                                     int&nbsp;elementSize)
                              throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Returns the address of the element at elementIndex logical offset into indexableObjectPointer, assuming that each
 element is dataSize bytes.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>array</code> - The array from which we should look-up the address</dd>
<dd><code>elementIndex</code> - The logical index number of the element within the array</dd>
<dd><code>elementSize</code> - The size, in bytes, of a single element of the array</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>A pointer to the element</dd>
<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="numArraylets(com.ibm.j9ddr.vm29.types.UDATA)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>numArraylets</h4>
<pre class="methodSignature">protected&nbsp;<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;numArraylets&#8203;(<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;unadjustedDataSizeInBytes)
                      throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Return the total number of arraylets for an indexable object with a size of dataInSizeByte, including a (possibly empty) leaf in the spine.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>dataSizeInBytes</code> - size of an array in bytes (not elements)</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of arraylets used for an array of dataSizeInBytes bytes</dd>
<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="numExternalArraylets(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>numExternalArraylets</h4>
<pre class="methodSignature">protected&nbsp;<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;numExternalArraylets&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array)
                              throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Return the total number of arraylets for an indexable object, not including the arraylet in the spine.
 Note that discontiguous arrays always have an empty leaf contained in the spine.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>array</code> - pointer to array</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of leaf arraylets</dd>
<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="externalArrayletsSize(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>externalArrayletsSize</h4>
<pre class="methodSignature">protected&nbsp;<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;externalArrayletsSize&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;arrayPtr)
                               throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Get the total number of bytes consumed by arraylets external to the
 given indexable object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>arrayPtr</code> - Pointer to an array object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the number of bytes consumed external to the spine</dd>
<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="from()">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>from</h4>
<pre class="methodSignature">public static&nbsp;com.ibm.j9ddr.vm29.j9.gc.GCArrayObjectModel&nbsp;from()
                                                        throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Factory method to construct an appropriate array object model.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>structure</code> - the J9JavaVM structure to use</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>an instance of ArrayObjectModel</dd>
<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="getSizeInBytesWithHeader(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSizeInBytesWithHeader</h4>
<pre class="methodSignature">public abstract&nbsp;<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;getSizeInBytesWithHeader&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array)
                                        throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Returns the size of an indexable object, in bytes, including the header.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>array</code> - Pointer to the indexable object whose size is required</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Size of object in bytes including the header</dd>
<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="getSizeInSlotsWithHeader(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">
<!--   -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getSizeInSlotsWithHeader</h4>
<pre class="methodSignature">public&nbsp;<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;getSizeInSlotsWithHeader&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;array)
                               throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Returns the size of an indexable object, in slots, including the header.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>array</code> - Pointer to the indexable object whose size is required</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>Size of object in slots including the header</dd>
<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="getTotalFootprintInBytesWithHeader(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)">
<!--   -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getTotalFootprintInBytesWithHeader</h4>
<pre class="methodSignature">public abstract&nbsp;<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a>&nbsp;getTotalFootprintInBytesWithHeader&#8203;(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer&nbsp;arrayPtr)
                                                  throws <a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></pre>
<div class="block">Get the total footprint of an object, in bytes, including the object header and all data.
 If the object has a discontiguous representation, this method should return the size of
 the root object plus the total of all the discontiguous parts of the object.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>arrayPtr</code> - Pointer to an object</dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the total size of an object, in bytes, including discontiguous parts</dd>
<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>
</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/GCArrayletObjectModelBase.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><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>
