Module openj9.dtfj

Class MemoryRange

  • All Implemented Interfaces:
    Comparable

    public class MemoryRange
    extends Object
    implements Comparable
    Dumps contain lots of memory - segmented across a range of virtual addresses.......
    • Constructor Detail

      • MemoryRange

        public MemoryRange​(long virtualAddress,
                           long fileOffset,
                           long size)
      • MemoryRange

        public MemoryRange​(long virtualAddress,
                           long fileOffset,
                           long size,
                           int asid)
      • MemoryRange

        public MemoryRange​(long virtualAddress,
                           long fileOffset,
                           long size,
                           int asid,
                           boolean isShared,
                           boolean isReadOnly,
                           boolean isExecutable)
      • MemoryRange

        public MemoryRange​(long virtualAddress,
                           long fileOffset,
                           long size,
                           int asid,
                           boolean isShared,
                           boolean isReadOnly,
                           boolean isExecutable,
                           boolean inCoreFile)
      • MemoryRange

        public MemoryRange​(MemoryRange range,
                           int asid)
        Copy constructor, used when copying shared memory ranges into another address space
    • Method Detail

      • contains

        public boolean contains​(long address)
      • contains

        public boolean contains​(int asid,
                                long address)
      • getFileOffset

        public long getFileOffset()
        Returns:
        the file offset
      • getSize

        public long getSize()
        Returns:
        the number of bytes in this MemoryRange
      • getVirtualAddress

        public long getVirtualAddress()
        Returns:
        the base virtual address
      • isInCoreFile

        public boolean isInCoreFile()
        Returns:
        true if this MemoryRange is located in the core file
      • getLibraryReader

        public DumpReader getLibraryReader()
        Returns:
        the DumpReader for this MemoryRange
      • setLibraryReader

        public void setLibraryReader​(DumpReader libraryReader)
        Set the DumpReader for this MemoryRange
      • getAsid

        public int getAsid()
        Returns:
      • compareTo

        public int compareTo​(Object o)
        Description copied from interface: java.lang.Comparable
        Compares this object with the specified object for order. Returns a negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

        The implementor must ensure sgn(x.compareTo(y)) == -sgn(y.compareTo(x)) for all x and y. (This implies that x.compareTo(y) must throw an exception iff y.compareTo(x) throws an exception.)

        The implementor must also ensure that the relation is transitive: (x.compareTo(y) > 0 && y.compareTo(z) > 0) implies x.compareTo(z) > 0.

        Finally, the implementor must ensure that x.compareTo(y)==0 implies that sgn(x.compareTo(z)) == sgn(y.compareTo(z)), for all z.

        It is strongly recommended, but not strictly required that (x.compareTo(y)==0) == (x.equals(y)). Generally speaking, any class that implements the Comparable interface and violates this condition should clearly indicate this fact. The recommended language is "Note: this class has a natural ordering that is inconsistent with equals."

        In the foregoing description, the notation sgn(expression) designates the mathematical signum function, which is defined to return one of -1, 0, or 1 according to whether the value of expression is negative, zero, or positive, respectively.

        Specified by:
        compareTo in interface Comparable
        Parameters:
        o - the object to be compared.
        Returns:
        Virtual address comparator.