Module openj9.dtfj

Class Memory


  • public class Memory
    extends Object
    Memory adapter which removes the need for a component to know the address space ID that it is working with. This is set when the adapter is created.
    • Constructor Detail

      • Memory

        public Memory​(IAbstractAddressSpace space)
        Create a memory representation
        Parameters:
        space - the underlying address space
    • Method Detail

      • bytesPerPointer

        public int bytesPerPointer()
        Identify the memory as 32 or 64 bit
        Returns:
        4 for 31/32 bit, 8 for 64 bit
      • findPattern

        public long findPattern​(byte[] whatBytes,
                                int alignment,
                                long startFrom)
        Search the memory for a specific byte pattern
        Parameters:
        whatBytes - what to search for
        alignment - byte alignment
        startFrom - position to start the search from
        Returns:
        the address of the bytes if found or -1
      • getByteAt

        public byte getByteAt​(long address)
                       throws MemoryAccessException
        Read a byte from the specified address
        Parameters:
        address - address to read from
        Returns:
        the data
        Throws:
        MemoryAccessException
      • getBytesAt

        public int getBytesAt​(long address,
                              byte[] buffer)
                       throws MemoryAccessException
        Read a byte from the specified address
        Parameters:
        address - address to read from
        Returns:
        the data
        Throws:
        MemoryAccessException
      • getLongAt

        public long getLongAt​(long address)
                       throws MemoryAccessException
        Read a long from the specified address
        Parameters:
        address - address to read from
        Returns:
        the data
        Throws:
        MemoryAccessException
      • getMemoryBytes

        public byte[] getMemoryBytes​(long address,
                                     int size)
        Read bytes from the specified address
        Parameters:
        address - address to read from
        size - number of bytes to read
        Returns:
        the data
      • getMemoryRanges

        public Iterator getMemoryRanges()
        Get the memory ranges for this address space
      • getPointerAt

        public long getPointerAt​(long address)
                          throws MemoryAccessException
        Read a pointer at the specified address
        Parameters:
        address - address to read from
        Returns:
        the data
        Throws:
        MemoryAccessException
      • getShortAt

        public short getShortAt​(long address)
                         throws MemoryAccessException
        Read a short from the specified address
        Parameters:
        address - address to read from
        Returns:
        the data
        Throws:
        MemoryAccessException