Class MMObjectAccessBarrier

java.lang.Object
com.ibm.j9ddr.vm29.j9.gc.GCBase
com.ibm.j9ddr.vm29.j9.gc.MMObjectAccessBarrier

public abstract class MMObjectAccessBarrier extends GCBase
  • Constructor Summary

    Constructors
    Modifier
    Constructor
    Description
    protected
     
  • Method Summary

    Modifier and Type
    Method
    Description
    abstract com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer
    Converts token (e.g. compressed pointer value) into real heap pointer.
    abstract long
    convertTokenFromPointer(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer pointer)
    Converts real heap pointer into token (e.g. compressed pointer value).
    Factory method to construct an appropriate object model.
    abstract com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer
    getFinalizeLink(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer object)
    Fetch the finalize link field of object.
    abstract com.ibm.j9ddr.vm29.pointer.generated.J9ObjectMonitorPointer
    getLockword(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer object)
    Return the lockword for the given object, or NULL if it does not have a lockword.
    abstract ObjectMonitor
    getMonitor(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer object)
    Return an object representing the monitor for the given object, or NULL if it does not have a lockword/monitor.
    abstract I32
    getObjectHashCode(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer object)
    Determine the basic hash code for the specified object.
    abstract com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer
    getOwnableSynchronizerLink(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer object)
    Fetch the ownableSynchronizer link field of object.
    abstract com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer
    getReferenceLink(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer object)
    Fetch the reference link field of the specified reference object.
    abstract com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer
    isObjectInOwnableSynchronizerList(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer object)
    check if the object in one of OwnableSynchronizerLists

    Methods declared in class GCBase

    getExtensions, getJavaVM
  • Constructor Details

    • MMObjectAccessBarrier

      protected MMObjectAccessBarrier()
  • Method Details

    • from

      public static MMObjectAccessBarrier from() throws CorruptDataException
      Factory method to construct an appropriate object model.
      Parameters:
      structure - the J9JavaVM structure to use
      Returns:
      an instance of ObjectModel
      Throws:
      CorruptDataException
    • getObjectHashCode

      public abstract I32 getObjectHashCode(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer object) throws CorruptDataException
      Determine the basic hash code for the specified object.
      Parameters:
      object - [in] the object to be hashed
      Returns:
      the persistent, basic hash code for the object
      Throws:
      CorruptDataException
    • getFinalizeLink

      public abstract com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer getFinalizeLink(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer object) throws CorruptDataException
      Fetch the finalize link field of object.
      Parameters:
      object - [in] the object to read
      Returns:
      the value stored in the object's finalizeLink field
      Throws:
      CorruptDataException
    • getOwnableSynchronizerLink

      public abstract com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer getOwnableSynchronizerLink(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer object) throws CorruptDataException
      Fetch the ownableSynchronizer link field of object.
      Parameters:
      object - [in] the object to read
      Returns:
      the value stored in the object's ownableSynchronizerLink field
      Throws:
      CorruptDataException
    • isObjectInOwnableSynchronizerList

      public abstract com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer isObjectInOwnableSynchronizerList(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer object) throws CorruptDataException
      check if the object in one of OwnableSynchronizerLists
      Parameters:
      object - [in] the object pointer
      Returns:
      the value stored in the object's reference link field if reference link field == J9ObjectPointer.NULL, it means the object isn't in the list
      Throws:
      CorruptDataException
    • getReferenceLink

      public abstract com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer getReferenceLink(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer object) throws CorruptDataException
      Fetch the reference link field of the specified reference object.
      Parameters:
      object - the object to read
      Returns:
      the value stored in the object's reference link field
      Throws:
      CorruptDataException
    • getLockword

      public abstract com.ibm.j9ddr.vm29.pointer.generated.J9ObjectMonitorPointer getLockword(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer object) throws CorruptDataException
      Return the lockword for the given object, or NULL if it does not have a lockword. This may return NULL, a flatlock, or an inflated monitor.
      Throws:
      CorruptDataException
    • getMonitor

      public abstract ObjectMonitor getMonitor(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer object) throws CorruptDataException
      Return an object representing the monitor for the given object, or NULL if it does not have a lockword/monitor.
      Throws:
      CorruptDataException
    • convertPointerFromToken

      public abstract com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer convertPointerFromToken(long token)
      Converts token (e.g. compressed pointer value) into real heap pointer.
      Returns:
      the heap pointer value.
    • convertTokenFromPointer

      public abstract long convertTokenFromPointer(com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer pointer)
      Converts real heap pointer into token (e.g. compressed pointer value).
      Returns:
      the compressed pointer value.