Class UnbackedMemorySource
java.lang.Object
com.ibm.j9ddr.corereaders.memory.BaseMemoryRange
com.ibm.j9ddr.corereaders.memory.ProtectedMemoryRange
com.ibm.j9ddr.corereaders.memory.UnbackedMemorySource
- All Implemented Interfaces:
IDetailedMemoryRange, IMemoryRange, IMemorySource, Comparable<IMemoryRange>
public class UnbackedMemorySource
extends ProtectedMemoryRange
implements IMemorySource, IDetailedMemoryRange
Memory source for storage range that is declared, but not backed.
Any attempt to read storage results in a MemoryFault
-
Field Summary
Fields declared in class ProtectedMemoryRange
executable, readOnly, sharedModifier and TypeFieldDescriptionprotected booleanprotected booleanprotected booleanFields declared in class BaseMemoryRange
baseAddress, sizeFields declared in interface IDetailedMemoryRange
EXECUTABLE, READABLE, WRITABLE -
Constructor Summary
ConstructorsConstructorDescriptionUnbackedMemorySource(long base, long size, String explanation) UnbackedMemorySource(long base, long size, String explanation, int asid, String name) -
Method Summary
Methods declared in class ProtectedMemoryRange
isExecutable, isReadOnly, isSharedMethods declared in class BaseMemoryRange
compareTo, contains, getBaseAddress, getSize, getTopAddress, isBacked, isSubRange, overlapsModifier and TypeMethodDescriptionintCompares this object with the specified object for order.booleancontains(long address) Checks whether an address is present in this memory rangefinal longfinal longgetSize()final longbooleanisBacked()booleanisSubRange(IMemoryRange other) booleanoverlaps(IMemoryRange other)
-
Constructor Details
-
UnbackedMemorySource
-
UnbackedMemorySource
- Parameters:
base- Base address for this rangesize- Size of this rangeexplanation- String message explaining why this section isn't backed with storage
-
-
Method Details
-
getAddressSpaceId
public int getAddressSpaceId()- Specified by:
getAddressSpaceIdin interfaceIMemoryRange- Returns:
- Address space ID that this range belongs to.
-
getBytes
Description copied from interface:IMemorySourceReads data from the memory range- Specified by:
getBytesin interfaceIMemorySource- Parameters:
address- Starting addressbuffer- Buffer to read intooffset- Offset in buffer to write tolength- Number of bytes to read- Returns:
- Bytes read
- Throws:
MemoryFault
-
getName
- Specified by:
getNamein interfaceIMemoryRange- Returns:
- Name of this range (e.g. .text or stack), or null if range is unnamed.
-
isBacked
public boolean isBacked()- Specified by:
isBackedin interfaceIMemoryRange- Specified by:
isBackedin interfaceIMemorySource- Returns:
- True if this memory range is backed with data (such that getBytes() won't always throw MemoryFault).
-
getProperties
- Specified by:
getPropertiesin interfaceIDetailedMemoryRange
-