Module openj9.dtfj

Class GCHeapRegionDescriptor

    • Field Detail

      • heapRegionDescriptor

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

    • Method Detail

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