- java.lang.Object
-
- com.ibm.j9ddr.vm29.j9.gc.GCHeapRegionDescriptor
-
- Direct Known Subclasses:
GCHeapRegionDescriptorSegregated_V1
public abstract class GCHeapRegionDescriptor extends Object
-
-
Field Summary
Fields Modifier and Type Field Description protected com.ibm.j9ddr.vm29.pointer.generated.MM_HeapRegionDescriptorPointer
heapRegionDescriptor
-
Constructor Summary
Constructors Modifier Constructor Description protected
GCHeapRegionDescriptor(com.ibm.j9ddr.vm29.pointer.generated.MM_HeapRegionDescriptorPointer hrd)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract boolean
containsObjects()
abstract String
descriptionString()
static GCHeapRegionDescriptor
fromHeapRegionDescriptor(GCHeapRegionDescriptor hrd)
static GCHeapRegionDescriptor
fromHeapRegionDescriptor(com.ibm.j9ddr.vm29.pointer.generated.MM_HeapRegionDescriptorPointer hrd)
Factory method to construct an appropriate GCHeapRegionDescriptorabstract GCHeapRegionDescriptor
getHeadOfSpan()
com.ibm.j9ddr.vm29.pointer.generated.MM_HeapRegionDescriptorPointer
getHeapRegionDescriptorPointer()
abstract VoidPointer
getHighAddress()
Get the high address of this regionabstract VoidPointer
getLowAddress()
Get the low address of this regionabstract com.ibm.j9ddr.vm29.pointer.generated.MM_MemoryPoolPointer
getMemoryPool()
abstract long
getRegionType()
abstract UDATA
getSize()
abstract com.ibm.j9ddr.vm29.pointer.generated.MM_MemorySubSpacePointer
getSubSpace()
abstract UDATA
getTypeFlags()
A helper to request the type flags from the Subspace associated with the receiving region.abstract boolean
hasValidMarkMap()
abstract boolean
isAddressInRegion(AbstractPointer address)
Determine if the specified address is in the regionabstract boolean
isImmortal()
abstract boolean
isScoped()
abstract GCObjectHeapIterator
objectIterator(boolean includeLiveObjects, boolean includeDeadObjects)
Create an iterator which iterates over all objects (if any) in the region
-
-
-
Constructor Detail
-
GCHeapRegionDescriptor
protected GCHeapRegionDescriptor(com.ibm.j9ddr.vm29.pointer.generated.MM_HeapRegionDescriptorPointer hrd) throws CorruptDataException
- Throws:
CorruptDataException
-
-
Method Detail
-
fromHeapRegionDescriptor
public static GCHeapRegionDescriptor fromHeapRegionDescriptor(GCHeapRegionDescriptor hrd) throws CorruptDataException
- Throws:
CorruptDataException
-
fromHeapRegionDescriptor
public static GCHeapRegionDescriptor fromHeapRegionDescriptor(com.ibm.j9ddr.vm29.pointer.generated.MM_HeapRegionDescriptorPointer hrd) throws CorruptDataException
Factory method to construct an appropriate GCHeapRegionDescriptor- Parameters:
structure
- the MM_HeapRegionDescriptorPointer structure to view as a GCHeapRegionDescriptor- Returns:
- an instance of GCHeapRegionDescriptor
- Throws:
CorruptDataException
-
getHeapRegionDescriptorPointer
public com.ibm.j9ddr.vm29.pointer.generated.MM_HeapRegionDescriptorPointer getHeapRegionDescriptorPointer()
-
getLowAddress
public abstract VoidPointer getLowAddress()
Get the low address of this region- Returns:
- the lowest address in the region
-
getHighAddress
public abstract VoidPointer getHighAddress()
Get the high address of this region- Returns:
- the first address beyond the end of the region
-
getSize
public abstract UDATA getSize()
- Returns:
- The number of contiguous bytes represented by the receiver
- Throws:
CorruptDataException
-
getTypeFlags
public abstract UDATA getTypeFlags()
A helper to request the type flags from the Subspace associated with the receiving region.- Returns:
- The type flags of the Subspace associated with this region
- Throws:
CorruptDataException
-
getRegionType
public abstract long getRegionType()
- Returns:
- this region's current type
- Throws:
CorruptDataException
-
getSubSpace
public abstract com.ibm.j9ddr.vm29.pointer.generated.MM_MemorySubSpacePointer getSubSpace()
- Returns:
- the memory subspace associated with this region
-
getMemoryPool
public abstract com.ibm.j9ddr.vm29.pointer.generated.MM_MemoryPoolPointer getMemoryPool()
- Returns:
- the memory subspace associated with this region
-
isAddressInRegion
public abstract boolean isAddressInRegion(AbstractPointer address)
Determine if the specified address is in the region- Returns:
- true if address is within the receiver, false otherwise
-
hasValidMarkMap
public abstract boolean hasValidMarkMap()
- Returns:
- true if the region has up-to-date mark map
- Throws:
CorruptDataException
-
containsObjects
public abstract boolean containsObjects()
- Returns:
- true if the region contains objects
- Throws:
CorruptDataException
-
objectIterator
public abstract GCObjectHeapIterator objectIterator(boolean includeLiveObjects, boolean includeDeadObjects) throws CorruptDataException
Create an iterator which iterates over all objects (if any) in the region- Returns:
- an GCObjectHeapIterator which iterates over all objects in the region
- Throws:
CorruptDataException
-
isImmortal
public abstract boolean isImmortal()
- Returns:
- true if the region is associated with a subspace with immortal memory type
-
isScoped
public abstract boolean isScoped()
- Returns:
- true if the region is associated with a subspace with scoped memory type
-
getHeadOfSpan
public abstract GCHeapRegionDescriptor getHeadOfSpan()
- Returns:
- in a spanning region, return to the HEAD of the span; in non-spanning region return this
-
descriptionString
public abstract String descriptionString()
-
-