Module openj9.dtfj

Class MMObjectAccessBarrier


  • public abstract class MMObjectAccessBarrier
    extends GCBase
    • Method Summary

      All Methods Static Methods Instance Methods Abstract Methods Concrete Methods 
      Modifier and Type Method Description
      abstract com.ibm.j9ddr.vm29.pointer.generated.J9ObjectPointer convertPointerFromToken​(long token)
      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).
      static MMObjectAccessBarrier from()
      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
    • Constructor Detail

      • MMObjectAccessBarrier

        protected MMObjectAccessBarrier()
    • Method Detail

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