Module openj9.dtfj

Class MemoryRange

java.lang.Object
com.ibm.dtfj.corereaders.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 Details

    • 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 Details

    • 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:
    • isExecutable

      public boolean isExecutable() throws MemoryAccessException
      Returns:
      true if this MemoryRange is marked executable
      Throws:
      MemoryAccessException
    • isReadOnly

      public boolean isReadOnly() throws MemoryAccessException
      Returns:
      true if this MemoryRange is marked read-only
      Throws:
      MemoryAccessException
    • isShared

      public boolean isShared() throws MemoryAccessException
      Returns:
      true if this MemoryRange is marked shared
      Throws:
      MemoryAccessException
    • 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 signum(x.compareTo(y)) == -signum(y.compareTo(x)) for all x and y. (This implies that x.compareTo(y) must throw an exception if and only if 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 signum(x.compareTo(z)) == signum(y.compareTo(z)), for all z.

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