Module openj9.dtfj

Class GCHeapRegionDescriptor

java.lang.Object
com.ibm.j9ddr.vm29.j9.gc.GCHeapRegionDescriptor
Direct Known Subclasses:
GCHeapRegionDescriptorSegregated_V1

public abstract class GCHeapRegionDescriptor extends Object
  • Field Details

    • heapRegionDescriptor

      protected com.ibm.j9ddr.vm29.pointer.generated.MM_HeapRegionDescriptorPointer heapRegionDescriptor
  • Constructor Details

  • Method Details

    • 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()