Module openj9.dtfj

Class JCImageThread

java.lang.Object
com.ibm.dtfj.image.javacore.JCImageThread
All Implemented Interfaces:
ImageThread

public class JCImageThread extends Object implements ImageThread
  • Constructor Details

  • Method Details

    • getID

      public String getID() throws CorruptDataException
      Description copied from interface: ImageThread
      Fetch a unique identifier for the thread. In many operating systems, threads have more than one identifier (e.g. a thread id, a handle, a pointer to VM structures associated with the thread). In this case, one of these identifiers will be chosen as the canonical one. The other identifiers would be returned by getProperties()
      Specified by:
      getID in interface ImageThread
      Returns:
      a process-wide identifier for the thread (e.g. a tid number)
      Throws:
      CorruptDataException
    • getProperties

      public Properties getProperties()
      Description copied from interface: ImageThread
      Get the OS-specific properties for this thread.
      Specified by:
      getProperties in interface ImageThread
      Returns:
      a table of OS-specific properties for this thread. Values which are commonly available include
      • "priority" -- the priority of the thread
      • "policy" -- the scheduling policy of the thread
    • addProperty

      public void addProperty(Object key, Object value)
      Parameters:
      key -
      value -
    • getRegisters

      public Iterator getRegisters()
      Description copied from interface: ImageThread
      Get the register contents.
      Specified by:
      getRegisters in interface ImageThread
      Returns:
      an iterator to iterate over the state of the CPU registers when the image was created. The collection may be empty if the register state is not available for this thread. If the CPU supports partial registers (e.g. AH, AL, AX, EAX, RAX on AMD64), only the largest version of the register will be included
      See Also:
    • getStackSections

      public Iterator getStackSections()
      Description copied from interface: ImageThread
      Get the set of image sections which make up the stack.
      Specified by:
      getStackSections in interface ImageThread
      Returns:
      a collection of ImageSections which make up the stack. On most platforms this consists of a single entry, but on some platforms the thread's stack may consist of non-contiguous sections
      See Also:
    • getStackFrames

      public Iterator getStackFrames() throws DataUnavailable
      Not available in javacore
      Specified by:
      getStackFrames in interface ImageThread
      Returns:
      an iterator to walk the native stack frames in order from top-of-stack (that is, the most recent frame) to bottom-of-stack. Throws DataUnavailable if native stack frames are not available on this platform.
      Throws:
      DataUnavailable - If native stack frames are not available on this platform
      See Also:
    • addImageStackFrame

      public void addImageStackFrame(ImageStackFrame stackFrame)
      NOT in DTFJ
      Parameters:
      stackFrame -
    • addImageStackSection

      public void addImageStackSection(ImageSection stackSection)
      NOT in DTFJ Add a stack section for this thread. Duplicates are not removed. Do NOT use this outside the building process.
      Parameters:
      stackSection -
    • getInternalID

      public ImagePointer getInternalID()
      NON-DTFJ. Used internally as it bypasses the exception, since due to internal implementation, an exception thrown when the id is not set does not necessarily mean an internal building error. Do NOT use this outside the building process.
    • setSystemThreadID

      public void setSystemThreadID(ImagePointer systemThreadID)
      NON-DTFJ. For building purposes only. Don't use as part of DTFJ.
      Parameters:
      systemThreadID -
    • getSystemThreadID

      public ImagePointer getSystemThreadID()
      NON-DTFJ. For building purposes only. Don't use as part of DTFJ.
      Returns:
      system thread id or null if not set.
    • addRegister

      public void addRegister(ImageRegister reg)
      NOT in DTFJ
      Parameters:
      reg - register