Uses of Class
org.jikesrvm.scheduler.RVMThread

Packages that use RVMThread
org.jikesrvm.adaptive   
org.jikesrvm.ia32   
org.jikesrvm.jni   
org.jikesrvm.jni.ia32   
org.jikesrvm.mm.mminterface   
org.jikesrvm.mm.mmtk   
org.jikesrvm.objectmodel   
org.jikesrvm.osr   
org.jikesrvm.osr.ia32   
org.jikesrvm.runtime   
org.jikesrvm.scheduler   
 

Uses of RVMThread in org.jikesrvm.adaptive
 

Fields in org.jikesrvm.adaptive declared as RVMThread
private  RVMThread OnStackReplacementPlan.suspendedThread
           
 RVMThread OnStackReplacementEvent.suspendedThread
          the suspended thread.
 

Constructors in org.jikesrvm.adaptive with parameters of type RVMThread
OnStackReplacementPlan(RVMThread thread, CompilationPlan cp, int cmid, int source, Offset tsoff, Offset ypoff, double priority)
           
 

Uses of RVMThread in org.jikesrvm.ia32
 

Methods in org.jikesrvm.ia32 that return RVMThread
static RVMThread ThreadLocalState.getCurrentThread()
          Return the current RVMThread object
 

Methods in org.jikesrvm.ia32 with parameters of type RVMThread
static void ThreadLocalState.setCurrentThread(RVMThread p)
          Set the current RVMThread object
 

Uses of RVMThread in org.jikesrvm.jni
 

Fields in org.jikesrvm.jni declared as RVMThread
protected  RVMThread JNIEnvironment.savedTRreg
          For saving processor register on entry to native, to be restored on JNI call from native
 

Uses of RVMThread in org.jikesrvm.jni.ia32
 

Methods in org.jikesrvm.jni.ia32 with parameters of type RVMThread
 void JNIGCMapIterator.newStackWalk(RVMThread thread)
           
 

Uses of RVMThread in org.jikesrvm.mm.mminterface
 

Fields in org.jikesrvm.mm.mminterface declared as RVMThread
 RVMThread GCMapIterator.thread
          thread whose stack is currently being scanned
 

Methods in org.jikesrvm.mm.mminterface that return RVMThread
 RVMThread Selected.Mutator.getThread()
           
 

Methods in org.jikesrvm.mm.mminterface with parameters of type RVMThread
 void GCMapIterator.newStackWalk(RVMThread thread)
          Prepare to scan a thread's stack and saved registers for object references.
 void GCMapIteratorGroup.newStackWalk(RVMThread thread, Address registerLocation)
          Prepare to scan a thread's stack for object references.
 

Uses of RVMThread in org.jikesrvm.mm.mmtk
 

Fields in org.jikesrvm.mm.mmtk declared as RVMThread
private  RVMThread ScanThread.thread
           
private  RVMThread Lock.thread
           
 

Methods in org.jikesrvm.mm.mmtk with parameters of type RVMThread
static void ScanThread.scanThread(RVMThread thread, TraceLocal trace, boolean processCodeLocations)
          Scan a thread, placing the addresses of pointers into supplied buffers.
private static void ScanThread.scanThread(RVMThread thread, TraceLocal trace, boolean processCodeLocations, Address gprs, Address topFrame)
          A more general interface to thread scanning, which permits the scanning of stack segments which are dislocated from the thread structure.
private  void ScanThread.startScan(TraceLocal trace, boolean processCodeLocations, RVMThread thread, Address gprs, Address ip, Address fp, Address initialIPLoc, Address topFrame)
          Initializes a ScanThread instance, and then scans a stack associated with a thread, and places references in deques (one for object pointers, one for interior code pointers).
 

Uses of RVMThread in org.jikesrvm.objectmodel
 

Methods in org.jikesrvm.objectmodel with parameters of type RVMThread
static boolean ObjectModel.holdsLock(Object obj, RVMThread thread)
           
static boolean JavaHeader.holdsLock(Object obj, RVMThread thread)
           
 

Uses of RVMThread in org.jikesrvm.osr
 

Fields in org.jikesrvm.osr declared as RVMThread
 RVMThread ExecutionState.thread
          the thread on which the activation is running
 

Methods in org.jikesrvm.osr that return RVMThread
 RVMThread ExecutionState.getThread()
          returns thread.
 

Methods in org.jikesrvm.osr with parameters of type RVMThread
abstract  ExecutionState ExecutionStateExtractor.extractState(RVMThread thread, Offset tsFromFPoff, Offset ypTakenFPoff, int cmid)
          Returns a VM scope descriptor (ExecutionState) for a compiled method on the top of a thread stack, (or a list of descriptors for an inlined method).
 

Constructors in org.jikesrvm.osr with parameters of type RVMThread
ExecutionState(RVMThread whichThread, Offset framePointerOffset, int compiledMethodID, int pc, Offset tsFPOffset)
          Initializer
 

Uses of RVMThread in org.jikesrvm.osr.ia32
 

Methods in org.jikesrvm.osr.ia32 with parameters of type RVMThread
 ExecutionState OptExecutionStateExtractor.extractState(RVMThread thread, Offset osrFPoff, Offset methFPoff, int cmid)
           
 ExecutionState BaselineExecutionStateExtractor.extractState(RVMThread thread, Offset osrFPoff, Offset methFPoff, int cmid)
          Implements ExecutionStateExtractor.extractState.
private  ExecutionState OptExecutionStateExtractor.getExecStateSequence(RVMThread thread, byte[] stack, Offset ipOffset, Offset fpOffset, int cmid, Offset tsFPOffset, TempRegisters registers, EncodedOSRMap osrmap)
           
static void PostThreadSwitch.postProcess(RVMThread myThread)
          This method must not be inlined to keep the correctness This method is called at the end of threadSwitch, the caller is threadSwitchFrom<
 

Uses of RVMThread in org.jikesrvm.runtime
 

Methods in org.jikesrvm.runtime that return RVMThread
static RVMThread Magic.getESIAsThread()
          Get contents of ESI, as a RVMThread.
static RVMThread Magic.getThreadRegister()
          Get contents of "thread" register.
static RVMThread Magic.objectAsThread(Object object)
          Cast object.
 

Methods in org.jikesrvm.runtime with parameters of type RVMThread
private  int StackTrace.countFramesUninterruptible(RVMThread stackTraceThread)
          Walk the stack counting the number of stack frames encountered.
static Address Magic.getReturnAddress(Address fp, RVMThread thread)
          Get return address for a frame in a specific thread
private  void StackTrace.recordFramesUninterruptible(RVMThread stackTraceThread)
          Walk the stack recording the stack frames encountered The stack being walked is our stack, so code is Uninterrupible to stop the stack moving.
static void Magic.setESIAsThread(RVMThread p)
          Set contents of ESI to hold a reference to a thread object.
static void Magic.setThreadRegister(RVMThread p)
          Set contents of "thread" register.
abstract  int SysCall.sysStashVMThread(RVMThread vmThread)
           
static void Magic.threadSwitch(RVMThread currentThread, ArchitectureSpecific.Registers restoreRegs)
          Switch threads.
 

Uses of RVMThread in org.jikesrvm.scheduler
 

Fields in org.jikesrvm.scheduler declared as RVMThread
static RVMThread RVMThread.bootThread
          The boot thread, can't be final so as to allow initialization during boot image writing.
(package private)  RVMThread RVMThread.contenderLink
           
static RVMThread[] RVMThread.debugThreads
          Preallocated array for use in debug requested.
static RVMThread[] RVMThread.handshakeThreads
          Preallocated array for use in handshakes.
(package private)  RVMThread ThreadQueue.head
           
(package private)  RVMThread LightMonitor.holder
           
(package private)  RVMThread SpinLock.latestContender
          The state of the processor lock.
(package private)  RVMThread RVMThread.next
          Link pointer for queues (specifically ThreadQueue).
protected  RVMThread SystemThread.rvmThread
           
(package private)  RVMThread ThreadQueue.tail
           
static RVMThread[] RVMThread.threadBySlot
          thread array - all threads are stored in this array according to their threadSlot.
static RVMThread[] RVMThread.threads
          Packed and unordered array or active threads.
 

Methods in org.jikesrvm.scheduler that return RVMThread
 RVMThread ThreadQueue.dequeue()
           
static RVMThread RVMThread.getCurrentThread()
           
private  RVMThread ThreadQueue.getNext(RVMThread cur)
          Private helper.
 RVMThread SystemThread.getRVMThread()
           
 RVMThread ThreadQueue.peek()
           
static RVMThread RVMThread.setupBootThread()
          Set up the initial thread and processors as part of boot image writing
 

Methods in org.jikesrvm.scheduler with parameters of type RVMThread
 void RVMThread.beginPairWith(RVMThread other)
           
 boolean RVMThread.SoftHandshakeVisitor.checkAndSignal(RVMThread t)
          Set whatever flags need to be set to signal that the given thread should perform some action when it acknowledges the soft handshake.
(package private) abstract  void RVMThread.BlockAdapter.clearBlockRequest(RVMThread t)
          Clear any blocking requests.
(package private)  void RVMThread.SuspendBlockAdapter.clearBlockRequest(RVMThread t)
           
(package private)  void RVMThread.HandshakeBlockAdapter.clearBlockRequest(RVMThread t)
           
(package private)  void RVMThread.GCBlockAdapter.clearBlockRequest(RVMThread t)
           
private static void RVMThread.dumpThread(RVMThread t)
           
private static void RVMThread.dumpThreadArray(RVMThread[] array, int bound)
           
private static void RVMThread.dumpThreadArray(String name, RVMThread[] array, int bound)
           
 void RVMThread.endPairWith(RVMThread other)
           
 void ThreadQueue.enqueue(RVMThread t)
           
private  RVMThread ThreadQueue.getNext(RVMThread cur)
          Private helper.
static String Lock.getThreadState(RVMThread t)
          scan lock queues for thread and report its state
(package private) abstract  boolean RVMThread.BlockAdapter.hasBlockRequest(RVMThread t)
          Does the thread have a request to block for this block adapter?
(package private)  boolean RVMThread.SuspendBlockAdapter.hasBlockRequest(RVMThread t)
           
(package private)  boolean RVMThread.HandshakeBlockAdapter.hasBlockRequest(RVMThread t)
           
(package private)  boolean RVMThread.GCBlockAdapter.hasBlockRequest(RVMThread t)
           
(package private) abstract  boolean RVMThread.BlockAdapter.hasBlockRequest(RVMThread t, int token)
          Does the thread have a request to block associated with the given requestBlock() call?
(package private)  boolean RVMThread.SuspendBlockAdapter.hasBlockRequest(RVMThread t, int token)
           
(package private)  boolean RVMThread.HandshakeBlockAdapter.hasBlockRequest(RVMThread t, int token)
           
(package private)  boolean RVMThread.GCBlockAdapter.hasBlockRequest(RVMThread t, int token)
           
static boolean ThinLock.holdsLock(Object o, Offset lockOffset, RVMThread thread)
           
 boolean RVMThread.SoftHandshakeVisitor.includeThread(RVMThread t)
          Check whether to include the specified thread in the soft handshake.
 boolean RVMThread.HardHandshakeVisitor.includeThread(RVMThread t)
           
 boolean RVMThread.AllButGCHardHandshakeVisitor.includeThread(RVMThread t)
           
(package private) abstract  boolean RVMThread.BlockAdapter.isBlocked(RVMThread t)
          Should the given thread be blocked for this block adapter?
(package private)  boolean RVMThread.SuspendBlockAdapter.isBlocked(RVMThread t)
           
(package private)  boolean RVMThread.HandshakeBlockAdapter.isBlocked(RVMThread t)
           
(package private)  boolean RVMThread.GCBlockAdapter.isBlocked(RVMThread t)
           
protected  boolean Lock.isBlocked(RVMThread t)
          Is this lock blocking thread t?
 boolean ThreadQueue.isQueued(RVMThread t)
           
protected  boolean Lock.isWaiting(RVMThread t)
          Is this thread t waiting on this lock?
 void RVMThread.SoftHandshakeVisitor.notifyStuckInNative(RVMThread t)
          Called when it is determined that the thread is stuck in native.
 boolean ThreadQueue.remove(RVMThread t)
          Remove the given thread from the queue if the thread is still on the queue.
(package private) abstract  int RVMThread.BlockAdapter.requestBlock(RVMThread t)
          Request that the thread block, for this block adapter, at its earliest convenience.
(package private)  int RVMThread.SuspendBlockAdapter.requestBlock(RVMThread t)
           
(package private)  int RVMThread.HandshakeBlockAdapter.requestBlock(RVMThread t)
           
(package private)  int RVMThread.GCBlockAdapter.requestBlock(RVMThread t)
           
(package private) abstract  void RVMThread.BlockAdapter.setBlocked(RVMThread t, boolean value)
          Specify that the thread is either blocked (value == true) or not blocked (value == false) for this block adapter.
(package private)  void RVMThread.SuspendBlockAdapter.setBlocked(RVMThread t, boolean value)
           
(package private)  void RVMThread.HandshakeBlockAdapter.setBlocked(RVMThread t, boolean value)
           
(package private)  void RVMThread.GCBlockAdapter.setBlocked(RVMThread t, boolean value)
           
private  void ThreadQueue.setNext(RVMThread cur, RVMThread value)
          Private helper.