| <!DOCTYPE HTML> |
| <html lang="en"> |
| <head> |
| <!-- Generated by javadoc (18) --> |
| <title>GCArrayletObjectModelBase (OpenJ9 JDK 18)</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.j9ddr.vm29.j9.gc, class: GCArrayletObjectModelBase"> |
| <meta name="generator" content="javadoc/ClassWriterImpl"> |
| <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="../../../../../../../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"><button id="navbar-toggle-button" aria-controls="navbar-top" aria-expanded="false" aria-label="Toggle navigation links"><span class="nav-bar-toggle-icon"></span><span class="nav-bar-toggle-icon"></span><span class="nav-bar-toggle-icon"></span></button> |
| <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 18</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/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#class">Help</a></li> |
| </ul> |
| <ul class="sub-nav-list-small"> |
| <li> |
| <p>Summary:</p> |
| <ul> |
| <li>Nested</li> |
| <li><a href="#field-summary">Field</a></li> |
| <li><a href="#constructor-summary">Constr</a></li> |
| <li><a href="#method-summary">Method</a></li> |
| </ul> |
| </li> |
| <li> |
| <p>Detail:</p> |
| <ul> |
| <li><a href="#field-detail">Field</a></li> |
| <li><a href="#constructor-detail">Constr</a></li> |
| <li><a href="#method-detail">Method</a></li> |
| </ul> |
| </li> |
| </ul> |
| </div> |
| <div class="sub-nav"> |
| <div id="navbar-sub-list"> |
| <ul class="sub-nav-list"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li><a href="#field-summary">Field</a> | </li> |
| <li><a href="#constructor-summary">Constr</a> | </li> |
| <li><a href="#method-summary">Method</a></li> |
| </ul> |
| <ul class="sub-nav-list"> |
| <li>Detail: </li> |
| <li><a href="#field-detail">Field</a> | </li> |
| <li><a href="#constructor-detail">Constr</a> | </li> |
| <li><a href="#method-detail">Method</a></li> |
| </ul> |
| </div> |
| <div class="nav-list-search"><label for="search-input">SEARCH:</label> |
| <input type="text" id="search-input" disabled placeholder="Search"> |
| <input type="reset" id="reset-button" disabled value="reset"> |
| </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> <a href="../../../../../../module-summary.html">openj9.dtfj</a></div> |
| <div class="sub-title"><span class="package-label-in-type">Package</span> <a href="package-summary.html">com.ibm.j9ddr.vm29.j9.gc</a></div> |
| <h1 title="Class GCArrayletObjectModelBase" class="title">Class GCArrayletObjectModelBase</h1> |
| </div> |
| <div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/18/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"><a href="GCBase.html" title="class in com.ibm.j9ddr.vm29.j9.gc">com.ibm.j9ddr.vm29.j9.gc.GCBase</a> |
| <div class="inheritance">com.ibm.j9ddr.vm29.j9.gc.GCArrayletObjectModelBase</div> |
| </div> |
| </div> |
| <section class="class-description" id="class-description"> |
| <hr> |
| <div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">GCArrayletObjectModelBase</span> |
| <span class="extends-implements">extends <a href="GCBase.html" title="class in com.ibm.j9ddr.vm29.j9.gc">GCBase</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="caption"><span>Fields</span></div> |
| <div class="summary-table three-column-summary"> |
| <div class="table-header col-first">Modifier and Type</div> |
| <div class="table-header col-second">Field</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color"><code>protected <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#arrayletLeafLogSize" class="member-name-link">arrayletLeafLogSize</a></code></div> |
| <div class="col-last even-row-color"> </div> |
| <div class="col-first odd-row-color"><code>protected <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></code></div> |
| <div class="col-second odd-row-color"><code><a href="#arrayletLeafSize" class="member-name-link">arrayletLeafSize</a></code></div> |
| <div class="col-last odd-row-color"> </div> |
| <div class="col-first even-row-color"><code>protected <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#arrayletLeafSizeMask" class="member-name-link">arrayletLeafSizeMask</a></code></div> |
| <div class="col-last even-row-color"> </div> |
| <div class="col-first odd-row-color"><code>protected com.ibm.j9ddr.vm29.pointer.generated.GC_ArrayletObjectModelPointer</code></div> |
| <div class="col-second odd-row-color"><code><a href="#arrayletObjectModel" class="member-name-link">arrayletObjectModel</a></code></div> |
| <div class="col-last odd-row-color"> </div> |
| <div class="col-first even-row-color"><code>protected <a href="../../pointer/VoidPointer.html" title="class in com.ibm.j9ddr.vm29.pointer">VoidPointer</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#arrayletRangeBase" class="member-name-link">arrayletRangeBase</a></code></div> |
| <div class="col-last even-row-color"> </div> |
| <div class="col-first odd-row-color"><code>protected <a href="../../pointer/VoidPointer.html" title="class in com.ibm.j9ddr.vm29.pointer">VoidPointer</a></code></div> |
| <div class="col-second odd-row-color"><code><a href="#arrayletRangeTop" class="member-name-link">arrayletRangeTop</a></code></div> |
| <div class="col-last odd-row-color"> </div> |
| <div class="col-first even-row-color"><code>protected <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></code></div> |
| <div class="col-second even-row-color"><code><a href="#largestDesirableArraySpineSize" class="member-name-link">largestDesirableArraySpineSize</a></code></div> |
| <div class="col-last even-row-color"> </div> |
| </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><a href="#%3Cinit%3E()" class="member-name-link">GCArrayletObjectModelBase</a>()</code></div> |
| <div class="col-last even-row-color"> </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-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static 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-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract 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 method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#externalArrayletsSize(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)" class="member-name-link">externalArrayletsSize</a><wbr>(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Get the total number of bytes consumed by arraylets external to the |
| given indexable object.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static com.ibm.j9ddr.vm29.j9.gc.GCArrayObjectModel</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#from()" class="member-name-link">from</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"> |
| <div class="block">Factory method to construct an appropriate array object model.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected long</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getArrayLayout(com.ibm.j9ddr.vm29.pointer.generated.J9ArrayClassPointer,com.ibm.j9ddr.vm29.types.UDATA)" class="member-name-link">getArrayLayout</a><wbr>(com.ibm.j9ddr.vm29.pointer.generated.J9ArrayClassPointer clazz, |
| <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a> dataSizeInBytes)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Get the layout of an indexable object given it's class, data size in bytes and the subspace's largestDesirableSpine.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected long</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getArrayLayout(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)" class="member-name-link">getArrayLayout</a><wbr>(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Get the layout for the given indexable object</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../pointer/ObjectReferencePointer.html" title="class in com.ibm.j9ddr.vm29.pointer">ObjectReferencePointer</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getArrayoidPointer(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)" class="member-name-link">getArrayoidPointer</a><wbr>(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns the address of first arraylet leaf slot in the spine</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../pointer/VoidPointer.html" title="class in com.ibm.j9ddr.vm29.pointer">VoidPointer</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getDataPointerForContiguous(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)" class="member-name-link">getDataPointerForContiguous</a><wbr>(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns the address of first data slot in the array</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getDataSizeInBytes(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)" class="member-name-link">getDataSizeInBytes</a><wbr>(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns the size of data in an indexable object, in bytes, including leaves, excluding the header.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../pointer/VoidPointer.html" title="class in com.ibm.j9ddr.vm29.pointer">VoidPointer</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getElementAddress(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer,int,int)" class="member-name-link">getElementAddress</a><wbr>(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array, |
| int elementIndex, |
| int elementSize)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns the address of the element at elementIndex logical offset into indexableObjectPointer, assuming that each |
| element is dataSize bytes.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getHashcodeOffset(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)" class="member-name-link">getHashcodeOffset</a><wbr>(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns the offset of the hashcode slot, in bytes, from the beginning of the header.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getHeaderSize(long)" class="member-name-link">getHeaderSize</a><wbr>(long layout)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Get the spine size without header for an arraylet with these properties</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getHeaderSize(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)" class="member-name-link">getHeaderSize</a><wbr>(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns the header size of a given indexable object.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getSizeInBytesWithHeader(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)" class="member-name-link">getSizeInBytesWithHeader</a><wbr>(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Returns the size of an indexable object, in bytes, including the header.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getSizeInElements(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)" class="member-name-link">getSizeInElements</a><wbr>(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns the size of an indexable object in elements.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getSizeInSlotsWithHeader(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)" class="member-name-link">getSizeInSlotsWithHeader</a><wbr>(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Returns the size of an indexable object, in slots, including the header.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getSpineSize(long,com.ibm.j9ddr.vm29.types.UDATA,com.ibm.j9ddr.vm29.types.UDATA,boolean)" class="member-name-link">getSpineSize</a><wbr>(long layout, |
| <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a> numberArraylets, |
| <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a> dataSize, |
| boolean alignData)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Get the spine size for an arraylet with these properties</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getSpineSize(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)" class="member-name-link">getSpineSize</a><wbr>(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Get the spine size for the given indexable object</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#getSpineSizeWithoutHeader(long,com.ibm.j9ddr.vm29.types.UDATA,com.ibm.j9ddr.vm29.types.UDATA,boolean)" class="member-name-link">getSpineSizeWithoutHeader</a><wbr>(long layout, |
| <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a> numberArraylets, |
| <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a> dataSize, |
| boolean alignData)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Get the spine size without header for an arraylet with these properties</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getTotalFootprintInBytesWithHeader(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)" class="member-name-link">getTotalFootprintInBytesWithHeader</a><wbr>(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer arrayPtr)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"> |
| <div class="block">Get the total footprint of an object, in bytes, including the object header and all data.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#isInlineContiguousArraylet(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)" class="member-name-link">isInlineContiguousArraylet</a><wbr>(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Check the given indexable object is inline contiguous</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#numArraylets(com.ibm.j9ddr.vm29.types.UDATA)" class="member-name-link">numArraylets</a><wbr>(<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a> unadjustedDataSizeInBytes)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <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> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#numExternalArraylets(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)" class="member-name-link">numExternalArraylets</a><wbr>(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Return the total number of arraylets for an indexable object, not including the arraylet in the spine.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected boolean</code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#shouldAlignSpineDataSection(com.ibm.j9ddr.vm29.pointer.generated.J9ArrayClassPointer)" class="member-name-link">shouldAlignSpineDataSection</a><wbr>(com.ibm.j9ddr.vm29.pointer.generated.J9ArrayClassPointer clazz)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Determines whether or not a spine that represents an object of this |
| class should have its data section aligned.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected boolean</code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#shouldAlignSpineDataSection(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer)" class="member-name-link">shouldAlignSpineDataSection</a><wbr>(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Determines whether or not a spine that represents an object of this |
| class should have its data section aligned.</div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="inherited-list"> |
| <h3 id="methods-inherited-from-class-com.ibm.j9ddr.vm29.j9.gc.GCBase">Methods declared in class 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></div> |
| <div class="inherited-list"> |
| <h3 id="methods-inherited-from-class-java.lang.Object">Methods declared in class java.lang.<a href="https://docs.oracle.com/en/java/javase/18/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/18/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/18/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/18/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/18/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/18/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/18/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/18/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/18/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/18/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/18/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/18/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"> |
| <!-- ============ FIELD DETAIL =========== --> |
| <li> |
| <section class="field-details" id="field-detail"> |
| <h2>Field Details</h2> |
| <ul class="member-list"> |
| <li> |
| <section class="detail" id="arrayletObjectModel"> |
| <h3>arrayletObjectModel</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">com.ibm.j9ddr.vm29.pointer.generated.GC_ArrayletObjectModelPointer</span> <span class="element-name">arrayletObjectModel</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="arrayletRangeBase"> |
| <h3>arrayletRangeBase</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../pointer/VoidPointer.html" title="class in com.ibm.j9ddr.vm29.pointer">VoidPointer</a></span> <span class="element-name">arrayletRangeBase</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="arrayletRangeTop"> |
| <h3>arrayletRangeTop</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../pointer/VoidPointer.html" title="class in com.ibm.j9ddr.vm29.pointer">VoidPointer</a></span> <span class="element-name">arrayletRangeTop</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="largestDesirableArraySpineSize"> |
| <h3>largestDesirableArraySpineSize</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></span> <span class="element-name">largestDesirableArraySpineSize</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="arrayletLeafSize"> |
| <h3>arrayletLeafSize</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></span> <span class="element-name">arrayletLeafSize</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="arrayletLeafLogSize"> |
| <h3>arrayletLeafLogSize</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></span> <span class="element-name">arrayletLeafLogSize</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="arrayletLeafSizeMask"> |
| <h3>arrayletLeafSizeMask</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></span> <span class="element-name">arrayletLeafSizeMask</span></div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| <!-- ========= CONSTRUCTOR DETAIL ======== --> |
| <li> |
| <section class="constructor-details" id="constructor-detail"> |
| <h2>Constructor Details</h2> |
| <ul class="member-list"> |
| <li> |
| <section class="detail" id="<init>()"> |
| <h3>GCArrayletObjectModelBase</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="element-name">GCArrayletObjectModelBase</span>() |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <dl class="notes"> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </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="getSpineSize(long,com.ibm.j9ddr.vm29.types.UDATA,com.ibm.j9ddr.vm29.types.UDATA,boolean)"> |
| <h3>getSpineSize</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></span> <span class="element-name">getSpineSize</span><wbr><span class="parameters">(long layout, |
| <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a> numberArraylets, |
| <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a> dataSize, |
| boolean alignData)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <div class="block">Get the spine size for an arraylet with these properties</div> |
| <dl class="notes"> |
| <dt>Parameters:</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>Returns:</dt> |
| <dd>spineSize The actual size in byte of the spine</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getSizeInElements(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)"> |
| <h3>getSizeInElements</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></span> <span class="element-name">getSizeInElements</span><wbr><span class="parameters">(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <div class="block">Returns the size of an indexable object in elements.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>array</code> - Pointer to the indexable object whose size is required</dd> |
| <dt>Returns:</dt> |
| <dd>Size of object in elements</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getHeaderSize(long)"> |
| <h3>getHeaderSize</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></span> <span class="element-name">getHeaderSize</span><wbr><span class="parameters">(long layout)</span></div> |
| <div class="block">Get the spine size without header for an arraylet with these properties</div> |
| <dl class="notes"> |
| <dt>Parameters:</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>Returns:</dt> |
| <dd>spineSize The actual size in byte of the spine</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getHeaderSize(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)"> |
| <h3>getHeaderSize</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></span> <span class="element-name">getHeaderSize</span><wbr><span class="parameters">(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <div class="block">Returns the header size of a given indexable object. The arraylet layout is determined base on "small" size.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>array</code> - Ptr to an array for which header size will be returned</dd> |
| <dt>Returns:</dt> |
| <dd>Size of header in bytes</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getSpineSizeWithoutHeader(long,com.ibm.j9ddr.vm29.types.UDATA,com.ibm.j9ddr.vm29.types.UDATA,boolean)"> |
| <h3>getSpineSizeWithoutHeader</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></span> <span class="element-name">getSpineSizeWithoutHeader</span><wbr><span class="parameters">(long layout, |
| <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a> numberArraylets, |
| <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a> dataSize, |
| boolean alignData)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <div class="block">Get the spine size without header for an arraylet with these properties</div> |
| <dl class="notes"> |
| <dt>Parameters:</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>Returns:</dt> |
| <dd>spineSize The actual size in byte of the spine</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getSpineSize(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)"> |
| <h3>getSpineSize</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></span> <span class="element-name">getSpineSize</span><wbr><span class="parameters">(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <div class="block">Get the spine size for the given indexable object</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>objPtr</code> - Pointer to an array object</dd> |
| <dt>Returns:</dt> |
| <dd>The total size in bytes of objPtr's array spine; |
| includes header, arraylet ptrs, and (if present) padding <span class="invalid-tag">invalid input: '&'</span> inline data</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getArrayLayout(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)"> |
| <h3>getArrayLayout</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">long</span> <span class="element-name">getArrayLayout</span><wbr><span class="parameters">(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <div class="block">Get the layout for the given indexable object</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>objPtr</code> - Pointer to a array object</dd> |
| <dt>Returns:</dt> |
| <dd>the ArrayLayout for objectPtr</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getArrayLayout(com.ibm.j9ddr.vm29.pointer.generated.J9ArrayClassPointer,com.ibm.j9ddr.vm29.types.UDATA)"> |
| <h3>getArrayLayout</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">long</span> <span class="element-name">getArrayLayout</span><wbr><span class="parameters">(com.ibm.j9ddr.vm29.pointer.generated.J9ArrayClassPointer clazz, |
| <a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a> dataSizeInBytes)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <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 class="notes"> |
| <dt>Parameters:</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>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getDataSizeInBytes(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)"> |
| <h3>getDataSizeInBytes</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></span> <span class="element-name">getDataSizeInBytes</span><wbr><span class="parameters">(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <div class="block">Returns the size of data in an indexable object, in bytes, including leaves, excluding the header.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>array</code> - Pointer to the indexable object whose size is required</dd> |
| <dt>Returns:</dt> |
| <dd>Size of object in bytes excluding the header</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getArrayoidPointer(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)"> |
| <h3>getArrayoidPointer</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="../../pointer/ObjectReferencePointer.html" title="class in com.ibm.j9ddr.vm29.pointer">ObjectReferencePointer</a></span> <span class="element-name">getArrayoidPointer</span><wbr><span class="parameters">(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <div class="block">Returns the address of first arraylet leaf slot in the spine</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>array</code> - Ptr to an array</dd> |
| <dt>Returns:</dt> |
| <dd>Arrayoid ptr</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getDataPointerForContiguous(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)"> |
| <h3>getDataPointerForContiguous</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="../../pointer/VoidPointer.html" title="class in com.ibm.j9ddr.vm29.pointer">VoidPointer</a></span> <span class="element-name">getDataPointerForContiguous</span><wbr><span class="parameters">(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <div class="block">Returns the address of first data slot in the array</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>array</code> - pointer to an array</dd> |
| <dt>Returns:</dt> |
| <dd>Address of first data slot in the array</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getHashcodeOffset(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)"> |
| <h3>getHashcodeOffset</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></span> <span class="element-name">getHashcodeOffset</span><wbr><span class="parameters">(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <div class="block">Returns the offset of the hashcode slot, in bytes, from the beginning of the header.</div> |
| <dl class="notes"> |
| <dt>Returns:</dt> |
| <dd>offset of the hashcode slot</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="isInlineContiguousArraylet(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)"> |
| <h3>isInlineContiguousArraylet</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type">boolean</span> <span class="element-name">isInlineContiguousArraylet</span><wbr><span class="parameters">(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <div class="block">Check the given indexable object is inline contiguous</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>objPtr</code> - Pointer to an array object</dd> |
| <dt>Returns:</dt> |
| <dd>true of array is inline contiguous</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="shouldAlignSpineDataSection(com.ibm.j9ddr.vm29.pointer.generated.J9ArrayClassPointer)"> |
| <h3>shouldAlignSpineDataSection</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">boolean</span> <span class="element-name">shouldAlignSpineDataSection</span><wbr><span class="parameters">(com.ibm.j9ddr.vm29.pointer.generated.J9ArrayClassPointer clazz)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <div class="block">Determines whether or not a spine that represents an object of this |
| class should have its data section aligned.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>clazz</code> - The class to check alignment for</dd> |
| <dt>Returns:</dt> |
| <dd>needAlignment Should the data section be aligned</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="shouldAlignSpineDataSection(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer)"> |
| <h3>shouldAlignSpineDataSection</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type">boolean</span> <span class="element-name">shouldAlignSpineDataSection</span><wbr><span class="parameters">(com.ibm.j9ddr.vm29.pointer.generated.J9ClassPointer clazz)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <div class="block">Determines whether or not a spine that represents an object of this |
| class should have its data section aligned.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>clazz</code> - The class to check alignment for</dd> |
| <dt>Returns:</dt> |
| <dd>needAlignment Should the data section be aligned</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getElementAddress(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer,int,int)"> |
| <h3>getElementAddress</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="../../pointer/VoidPointer.html" title="class in com.ibm.j9ddr.vm29.pointer">VoidPointer</a></span> <span class="element-name">getElementAddress</span><wbr><span class="parameters">(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array, |
| int elementIndex, |
| int elementSize)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <div class="block">Returns the address of the element at elementIndex logical offset into indexableObjectPointer, assuming that each |
| element is dataSize bytes.</div> |
| <dl class="notes"> |
| <dt>Parameters:</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>Returns:</dt> |
| <dd>A pointer to the element</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="numArraylets(com.ibm.j9ddr.vm29.types.UDATA)"> |
| <h3>numArraylets</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></span> <span class="element-name">numArraylets</span><wbr><span class="parameters">(<a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a> unadjustedDataSizeInBytes)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>dataSizeInBytes</code> - size of an array in bytes (not elements)</dd> |
| <dt>Returns:</dt> |
| <dd>the number of arraylets used for an array of dataSizeInBytes bytes</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="numExternalArraylets(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)"> |
| <h3>numExternalArraylets</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></span> <span class="element-name">numExternalArraylets</span><wbr><span class="parameters">(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>array</code> - pointer to array</dd> |
| <dt>Returns:</dt> |
| <dd>the number of leaf arraylets</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="externalArrayletsSize(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)"> |
| <h3>externalArrayletsSize</h3> |
| <div class="member-signature"><span class="modifiers">protected</span> <span class="return-type"><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></span> <span class="element-name">externalArrayletsSize</span><wbr><span class="parameters">(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <div class="block">Get the total number of bytes consumed by arraylets external to the |
| given indexable object.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>array</code> - Pointer to an array object</dd> |
| <dt>Returns:</dt> |
| <dd>the number of bytes consumed external to the spine</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="from()"> |
| <h3>from</h3> |
| <div class="member-signature"><span class="modifiers">public static</span> <span class="return-type">com.ibm.j9ddr.vm29.j9.gc.GCArrayObjectModel</span> <span class="element-name">from</span>() |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <div class="block">Factory method to construct an appropriate array object model.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>structure</code> - the J9JavaVM structure to use</dd> |
| <dt>Returns:</dt> |
| <dd>an instance of ArrayObjectModel</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getSizeInBytesWithHeader(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)"> |
| <h3>getSizeInBytesWithHeader</h3> |
| <div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type"><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></span> <span class="element-name">getSizeInBytesWithHeader</span><wbr><span class="parameters">(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <div class="block">Returns the size of an indexable object, in bytes, including the header.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>array</code> - Pointer to the indexable object whose size is required</dd> |
| <dt>Returns:</dt> |
| <dd>Size of object in bytes including the header</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getSizeInSlotsWithHeader(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)"> |
| <h3>getSizeInSlotsWithHeader</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></span> <span class="element-name">getSizeInSlotsWithHeader</span><wbr><span class="parameters">(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer array)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <div class="block">Returns the size of an indexable object, in slots, including the header.</div> |
| <dl class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>array</code> - Pointer to the indexable object whose size is required</dd> |
| <dt>Returns:</dt> |
| <dd>Size of object in slots including the header</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></code></dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="getTotalFootprintInBytesWithHeader(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer)"> |
| <h3>getTotalFootprintInBytesWithHeader</h3> |
| <div class="member-signature"><span class="modifiers">public abstract</span> <span class="return-type"><a href="../../types/UDATA.html" title="class in com.ibm.j9ddr.vm29.types">UDATA</a></span> <span class="element-name">getTotalFootprintInBytesWithHeader</span><wbr><span class="parameters">(com.ibm.j9ddr.vm29.pointer.generated.J9IndexableObjectPointer arrayPtr)</span> |
| throws <span class="exceptions"><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</a></span></div> |
| <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 class="notes"> |
| <dt>Parameters:</dt> |
| <dd><code>arrayPtr</code> - Pointer to an object</dd> |
| <dt>Returns:</dt> |
| <dd>the total size of an object, in bytes, including discontiguous parts</dd> |
| <dt>Throws:</dt> |
| <dd><code><a href="../../../CorruptDataException.html" title="class in com.ibm.j9ddr">CorruptDataException</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 © 1998, 2022 IBM Corp. and others.</small></p> |
| </footer> |
| </div> |
| </div> |
| </body> |
| </html> |