blob: c95681319677a895989e3263055bca478df3e38d [file] [log] [blame]
<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc -->
<title>MutableAddressSpace (OpenJ9 JDK 11)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="keywords" content="com.ibm.j9ddr.corereaders.tdump.zebedee.dumpreader.MutableAddressSpace class">
<meta name="keywords" content="lastMutableBlockAddress">
<meta name="keywords" content="getBlockFromCacheOrDisk()">
<meta name="keywords" content="writeBytes()">
<meta name="keywords" content="writeWord()">
<meta name="keywords" content="writeByte()">
<meta name="keywords" content="writeShort()">
<meta name="keywords" content="writeInt()">
<meta name="keywords" content="writeLong()">
<meta name="keywords" content="malloc()">
<meta name="keywords" content="rmalloc()">
<meta name="keywords" content="free()">
<meta name="keywords" content="allocPage()">
<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="MutableAddressSpace (OpenJ9 JDK 11)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":10,"i4":10,"i5":10,"i6":10,"i7":10,"i8":10,"i9":10,"i10":10};
var tabs = {65535:["t0","All Methods"],2:["t2","Instance 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/MutableAddressSpace.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.corereaders.tdump.zebedee.dumpreader</a></div>
<h2 title="Class MutableAddressSpace" class="title">Class MutableAddressSpace</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="AddressSpace.html" title="class in com.ibm.j9ddr.corereaders.tdump.zebedee.dumpreader">com.ibm.j9ddr.corereaders.tdump.zebedee.dumpreader.AddressSpace</a></li>
<li>
<ul class="inheritance">
<li>com.ibm.j9ddr.corereaders.tdump.zebedee.dumpreader.MutableAddressSpace</li>
</ul>
</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>All Implemented Interfaces:</dt>
<dd><code><a href="../util/Emulator.ImageSpace.html" title="interface in com.ibm.j9ddr.corereaders.tdump.zebedee.util">Emulator.ImageSpace</a></code>, <code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/Serializable.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">Serializable</a></code></dd>
</dl>
<hr>
<pre>public final class <span class="typeNameLabel">MutableAddressSpace</span>
extends <a href="AddressSpace.html" title="class in com.ibm.j9ddr.corereaders.tdump.zebedee.dumpreader">AddressSpace</a>
implements <a href="../util/Emulator.ImageSpace.html" title="interface in com.ibm.j9ddr.corereaders.tdump.zebedee.util">Emulator.ImageSpace</a></pre>
<div class="block">Provides the ability to write as well as read to a copy of the address space. This class
is provided for use by the <a href="../util/Emulator.html" title="interface in com.ibm.j9ddr.corereaders.tdump.zebedee.util"><code>Emulator</code></a>.</div>
<dl>
<dt><span class="seeLabel">See Also:</span></dt>
<dd><a href="../../../../../../../../serialized-form.html#com.ibm.j9ddr.corereaders.tdump.zebedee.dumpreader.MutableAddressSpace">Serialized Form</a></dd>
</dl>
</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 long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#lastMutableBlockAddress">lastMutableBlockAddress</a></span></code></th>
<td class="colLast">
<div class="block">The last mutable block address requested (quick block cache)</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="fields.inherited.from.class.com.ibm.j9ddr.corereaders.tdump.zebedee.dumpreader.AddressSpace">
<!-- -->
</a>
<h3>Fields declared in class&nbsp;com.ibm.j9ddr.corereaders.tdump.zebedee.dumpreader.<a href="AddressSpace.html" title="class in com.ibm.j9ddr.corereaders.tdump.zebedee.dumpreader">AddressSpace</a></h3>
<code><a href="AddressSpace.html#addressMap">addressMap</a>, <a href="AddressSpace.html#asid">asid</a>, <a href="AddressSpace.html#dump">dump</a>, <a href="AddressSpace.html#lastBlockAddress">lastBlockAddress</a>, <a href="AddressSpace.html#lastButOneBlockAddress">lastButOneBlockAddress</a>, <a href="AddressSpace.html#ranges">ranges</a>, <a href="AddressSpace.html#WILD_POINTER">WILD_POINTER</a></code></li>
</ul>
</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(com.ibm.j9ddr.corereaders.tdump.zebedee.dumpreader.AddressSpace)">MutableAddressSpace</a></span>&#8203;(<a href="AddressSpace.html" title="class in com.ibm.j9ddr.corereaders.tdump.zebedee.dumpreader">AddressSpace</a>&nbsp;space)</code></th>
<td class="colLast">
<div class="block">Creates a new MutableAddressSpace from the given AddressSpace.</div>
</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="t2" class="tableTab"><span><a href="javascript:show(2);">Instance 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>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#allocPage(long)">allocPage</a></span>&#8203;(long&nbsp;address)</code></th>
<td class="colLast">
<div class="block">Allocate a page of memory at the given address.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#free(long)">free</a></span>&#8203;(long&nbsp;ptr)</code></th>
<td class="colLast">
<div class="block">Free the memory that was previously allocated by malloc.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected byte[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getBlockFromCacheOrDisk(long)">getBlockFromCacheOrDisk</a></span>&#8203;(long&nbsp;address)</code></th>
<td class="colLast">
<div class="block">Get the block of bytes for the given address.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#malloc(int)">malloc</a></span>&#8203;(int&nbsp;size)</code></th>
<td class="colLast">
<div class="block">Allocate a chunk of unused memory.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>long</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rmalloc(int)">rmalloc</a></span>&#8203;(int&nbsp;size)</code></th>
<td class="colLast">&nbsp;</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#writeByte(long,int)">writeByte</a></span>&#8203;(long&nbsp;address,
int&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Write a byte at the specified address.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#writeBytes(long,byte%5B%5D)">writeBytes</a></span>&#8203;(long&nbsp;address,
byte[]&nbsp;array)</code></th>
<td class="colLast">
<div class="block">Write the contents of the byte array to the specified address.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#writeInt(long,int)">writeInt</a></span>&#8203;(long&nbsp;address,
int&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Write an int at the specified address.</div>
</td>
</tr>
<tr id="i8" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#writeLong(long,long)">writeLong</a></span>&#8203;(long&nbsp;address,
long&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Write a long at the specified address.</div>
</td>
</tr>
<tr id="i9" class="rowColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#writeShort(long,int)">writeShort</a></span>&#8203;(long&nbsp;address,
int&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Write a short at the specified address.</div>
</td>
</tr>
<tr id="i10" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#writeWord(long,long)">writeWord</a></span>&#8203;(long&nbsp;address,
long&nbsp;value)</code></th>
<td class="colLast">
<div class="block">Write a word at the specified address.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.ibm.j9ddr.corereaders.tdump.zebedee.dumpreader.AddressSpace">
<!-- -->
</a>
<h3>Methods declared in class&nbsp;com.ibm.j9ddr.corereaders.tdump.zebedee.dumpreader.<a href="AddressSpace.html" title="class in com.ibm.j9ddr.corereaders.tdump.zebedee.dumpreader">AddressSpace</a></h3>
<code><a href="AddressSpace.html#getAddressRanges()">getAddressRanges</a>, <a href="AddressSpace.html#getAsid()">getAsid</a>, <a href="AddressSpace.html#getBlock(long)">getBlock</a>, <a href="AddressSpace.html#getDump()">getDump</a>, <a href="AddressSpace.html#getImageInputStream()">getImageInputStream</a>, <a href="AddressSpace.html#getLowestAddress()">getLowestAddress</a>, <a href="AddressSpace.html#getRootAddressSpace()">getRootAddressSpace</a>, <a href="AddressSpace.html#getUnusedAddressRanges()">getUnusedAddressRanges</a>, <a href="AddressSpace.html#getUserMap()">getUserMap</a>, <a href="AddressSpace.html#getWordLength()">getWordLength</a>, <a href="AddressSpace.html#is64bit()">is64bit</a>, <a href="AddressSpace.html#isValidAddress(long)">isValidAddress</a>, <a href="AddressSpace.html#read(long)">read</a>, <a href="AddressSpace.html#read(long,byte%5B%5D,int,int)">read</a>, <a href="AddressSpace.html#readAsciiCString(long)">readAsciiCString</a>, <a href="AddressSpace.html#readAsciiString(long)">readAsciiString</a>, <a href="AddressSpace.html#readAsciiString(long,int)">readAsciiString</a>, <a href="AddressSpace.html#readByte(long)">readByte</a>, <a href="AddressSpace.html#readEbcdicCString(long)">readEbcdicCString</a>, <a href="AddressSpace.html#readEbcdicString(long)">readEbcdicString</a>, <a href="AddressSpace.html#readEbcdicString(long,int)">readEbcdicString</a>, <a href="AddressSpace.html#readInt(long)">readInt</a>, <a href="AddressSpace.html#readLong(long)">readLong</a>, <a href="AddressSpace.html#readLong(long,com.ibm.j9ddr.corereaders.tdump.zebedee.util.Template,java.lang.String)">readLong</a>, <a href="AddressSpace.html#readShort(long)">readShort</a>, <a href="AddressSpace.html#readUnsignedByte(long)">readUnsignedByte</a>, <a href="AddressSpace.html#readUnsignedInt(long)">readUnsignedInt</a>, <a href="AddressSpace.html#readUnsignedShort(long)">readUnsignedShort</a>, <a href="AddressSpace.html#readUtf8String(long)">readUtf8String</a>, <a href="AddressSpace.html#readWord(long)">readWord</a>, <a href="AddressSpace.html#readWord(long,boolean)">readWord</a>, <a href="AddressSpace.html#roundToPage(long)">roundToPage</a>, <a href="AddressSpace.html#setIs64bit(boolean)">setIs64bit</a>, <a href="AddressSpace.html#toString()">toString</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#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>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.com.ibm.j9ddr.corereaders.tdump.zebedee.util.Emulator.ImageSpace">
<!-- -->
</a>
<h3>Methods declared in interface&nbsp;com.ibm.j9ddr.corereaders.tdump.zebedee.util.<a href="../util/Emulator.ImageSpace.html" title="interface in com.ibm.j9ddr.corereaders.tdump.zebedee.util">Emulator.ImageSpace</a></h3>
<code><a href="../util/Emulator.ImageSpace.html#is64bit()">is64bit</a>, <a href="../util/Emulator.ImageSpace.html#readInt(long)">readInt</a>, <a href="../util/Emulator.ImageSpace.html#readLong(long)">readLong</a>, <a href="../util/Emulator.ImageSpace.html#readShort(long)">readShort</a>, <a href="../util/Emulator.ImageSpace.html#readUnsignedByte(long)">readUnsignedByte</a>, <a href="../util/Emulator.ImageSpace.html#readUnsignedInt(long)">readUnsignedInt</a>, <a href="../util/Emulator.ImageSpace.html#readUnsignedShort(long)">readUnsignedShort</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="lastMutableBlockAddress">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>lastMutableBlockAddress</h4>
<pre>protected&nbsp;long lastMutableBlockAddress</pre>
<div class="block">The last mutable block address requested (quick block cache)</div>
</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;(com.ibm.j9ddr.corereaders.tdump.zebedee.dumpreader.AddressSpace)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>MutableAddressSpace</h4>
<pre>public&nbsp;MutableAddressSpace&#8203;(<a href="AddressSpace.html" title="class in com.ibm.j9ddr.corereaders.tdump.zebedee.dumpreader">AddressSpace</a>&nbsp;space)</pre>
<div class="block">Creates a new MutableAddressSpace from the given AddressSpace. Updates to this "forked"
copy will not be reflected in the parent AddressSpace.</div>
<dl>
<dt><span class="paramLabel">Parameters:</span></dt>
<dd><code>AddressSpace</code> - the address space we read from</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="getBlockFromCacheOrDisk(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getBlockFromCacheOrDisk</h4>
<pre class="methodSignature">protected&nbsp;byte[]&nbsp;getBlockFromCacheOrDisk&#8203;(long&nbsp;address)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></pre>
<div class="block">Get the block of bytes for the given address. We look first in our own cache and if
its not there call the superclass method.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Overrides:</span></dt>
<dd><code><a href="AddressSpace.html#getBlockFromCacheOrDisk(long)">getBlockFromCacheOrDisk</a></code>&nbsp;in class&nbsp;<code><a href="AddressSpace.html" title="class in com.ibm.j9ddr.corereaders.tdump.zebedee.dumpreader">AddressSpace</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></code></dd>
</dl>
</li>
</ul>
<a id="writeBytes(long,byte[])">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeBytes</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;writeBytes&#8203;(long&nbsp;address,
byte[]&nbsp;array)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></pre>
<div class="block">Write the contents of the byte array to the specified address.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></code> - if the given address (of offset from there) is not present in this address space</dd>
</dl>
</li>
</ul>
<a id="writeWord(long,long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeWord</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;writeWord&#8203;(long&nbsp;address,
long&nbsp;value)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></pre>
<div class="block">Write a word at the specified address. A word is either 32 or 64 bits depending on
the machine context.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></code></dd>
</dl>
</li>
</ul>
<a id="writeByte(long,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeByte</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;writeByte&#8203;(long&nbsp;address,
int&nbsp;value)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></pre>
<div class="block">Write a byte at the specified address.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../util/Emulator.ImageSpace.html#writeByte(long,int)">writeByte</a></code>&nbsp;in interface&nbsp;<code><a href="../util/Emulator.ImageSpace.html" title="interface in com.ibm.j9ddr.corereaders.tdump.zebedee.util">Emulator.ImageSpace</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></code> - if the given address is not present in this address space</dd>
</dl>
</li>
</ul>
<a id="writeShort(long,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeShort</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;writeShort&#8203;(long&nbsp;address,
int&nbsp;value)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></pre>
<div class="block">Write a short at the specified address.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../util/Emulator.ImageSpace.html#writeShort(long,int)">writeShort</a></code>&nbsp;in interface&nbsp;<code><a href="../util/Emulator.ImageSpace.html" title="interface in com.ibm.j9ddr.corereaders.tdump.zebedee.util">Emulator.ImageSpace</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></code> - if the given address is not present in this address space</dd>
</dl>
</li>
</ul>
<a id="writeInt(long,int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeInt</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;writeInt&#8203;(long&nbsp;address,
int&nbsp;value)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></pre>
<div class="block">Write an int at the specified address.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../util/Emulator.ImageSpace.html#writeInt(long,int)">writeInt</a></code>&nbsp;in interface&nbsp;<code><a href="../util/Emulator.ImageSpace.html" title="interface in com.ibm.j9ddr.corereaders.tdump.zebedee.util">Emulator.ImageSpace</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></code> - if the given address is not present in this address space</dd>
</dl>
</li>
</ul>
<a id="writeLong(long,long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>writeLong</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;writeLong&#8203;(long&nbsp;address,
long&nbsp;value)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></pre>
<div class="block">Write a long at the specified address.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../util/Emulator.ImageSpace.html#writeLong(long,long)">writeLong</a></code>&nbsp;in interface&nbsp;<code><a href="../util/Emulator.ImageSpace.html" title="interface in com.ibm.j9ddr.corereaders.tdump.zebedee.util">Emulator.ImageSpace</a></code></dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></code> - if the given address is not present in this address space</dd>
</dl>
</li>
</ul>
<a id="malloc(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>malloc</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;malloc&#8203;(int&nbsp;size)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></pre>
<div class="block">Allocate a chunk of unused memory. This searches the known address ranges and tries
to find an unallocated area of the given size. If successful, this area effectively
becomes part of this ImageSpace and may be read and written to as normal.
This method is used by users of the Emulator for things like allocating
stack, arguments etc.</div>
<dl>
<dt><span class="overrideSpecifyLabel">Specified by:</span></dt>
<dd><code><a href="../util/Emulator.ImageSpace.html#malloc(int)">malloc</a></code>&nbsp;in interface&nbsp;<code><a href="../util/Emulator.ImageSpace.html" title="interface in com.ibm.j9ddr.corereaders.tdump.zebedee.util">Emulator.ImageSpace</a></code></dd>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>the address of the allocated memory</dd>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></code></dd>
</dl>
</li>
</ul>
<a id="rmalloc(int)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rmalloc</h4>
<pre class="methodSignature">public&nbsp;long&nbsp;rmalloc&#8203;(int&nbsp;size)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></pre>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></code></dd>
</dl>
</li>
</ul>
<a id="free(long)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>free</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;free&#8203;(long&nbsp;ptr)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></pre>
<div class="block">Free the memory that was previously allocated by malloc.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></code></dd>
</dl>
</li>
</ul>
<a id="allocPage(long)">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>allocPage</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;allocPage&#8203;(long&nbsp;address)
throws <a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</a></pre>
<div class="block">Allocate a page of memory at the given address. The address must not already be in use.
A page is 4096 bytes in length. Address must be on a page boundary.</div>
<dl>
<dt><span class="throwsLabel">Throws:</span></dt>
<dd><code><a href="https://docs.oracle.com/en/java/javase/11/docs/api/java.base/java/io/IOException.html?is-external=true" title="class or interface in java.io" class="externalLink" target="_blank">IOException</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/MutableAddressSpace.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>