Modifier and Type | Field and Description |
---|---|
private RVMThread |
OnStackReplacementPlan.suspendedThread |
RVMThread |
OnStackReplacementEvent.suspendedThread
the suspended thread.
|
Constructor and Description |
---|
OnStackReplacementPlan(RVMThread thread,
CompilationPlan cp,
int cmid,
int source,
Offset tsoff,
Offset ypoff,
double priority) |
Modifier and Type | Method and Description |
---|---|
boolean |
CodePatchSyncRequestVisitor.checkAndSignal(RVMThread t)
Signals the given thread to sync for code patching.
|
Modifier and Type | Method and Description |
---|---|
static RVMThread |
ThreadLocalState.getCurrentThread() |
Modifier and Type | Method and Description |
---|---|
static void |
ThreadLocalState.setCurrentThread(RVMThread p) |
Modifier and Type | Field and Description |
---|---|
protected RVMThread |
JNIEnvironment.savedTRreg
For saving processor register on entry to native,
to be restored on JNI call from native
|
Modifier and Type | Method and Description |
---|---|
void |
JNIGCMapIterator.newStackWalk(RVMThread thread) |
Modifier and Type | Field and Description |
---|---|
protected RVMThread |
GCMapIterator.thread
thread whose stack is currently being scanned
|
Modifier and Type | Method and Description |
---|---|
RVMThread |
Selected.Mutator.getThread() |
Modifier and Type | Method and Description |
---|---|
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.
|
Modifier and Type | Field and Description |
---|---|
private RVMThread |
ScanThread.thread |
private RVMThread |
Lock.thread |
Modifier and Type | Method and Description |
---|---|
private static void |
ScanThread.scanThread(RVMThread thread,
TraceLocal trace,
boolean processCodeLocations,
Address gprs,
Address topFrame,
boolean newRootsSufficent)
A more general interface to thread scanning, which permits the
scanning of stack segments which are dislocated from the thread
structure.
|
static void |
ScanThread.scanThread(RVMThread thread,
TraceLocal trace,
boolean processCodeLocations,
boolean newRootsSufficient)
Scan a thread, placing the addresses of pointers into supplied buffers.
|
private void |
ScanThread.startScan(TraceLocal trace,
boolean processCodeLocations,
RVMThread thread,
Address gprs,
Address ip,
Address fp,
Address initialIPLoc,
Address topFrame,
Address sentinelFp)
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).
|
Modifier and Type | Method and Description |
---|---|
static boolean |
JavaHeader.holdsLock(Object obj,
RVMThread thread) |
static boolean |
ObjectModel.holdsLock(Object obj,
RVMThread thread) |
Modifier and Type | Field and Description |
---|---|
RVMThread |
ExecutionState.thread
the thread on which the activation is running
|
Modifier and Type | Method and Description |
---|---|
RVMThread |
ExecutionState.getThread() |
Modifier and Type | Method and Description |
---|---|
abstract ExecutionState |
ExecutionStateExtractor.extractState(RVMThread thread,
Offset tsFromFPoff,
Offset ypTakenFPoff,
int cmid) |
Constructor and Description |
---|
ExecutionState(RVMThread whichThread,
Offset framePointerOffset,
int compiledMethodID,
int pc,
Offset tsFPOffset) |
Modifier and Type | Method and Description |
---|---|
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<...
|
Modifier and Type | Method and Description |
---|---|
static RVMThread |
Magic.getESIAsThread() |
static RVMThread |
Magic.getThreadRegister() |
static RVMThread |
Magic.objectAsThread(Object object)
Cast object.
|
Modifier and Type | Method and Description |
---|---|
private void |
StackTrace.assertThreadBlockedOrCurrent(RVMThread 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)
Sets contents of ESI to hold a reference to a thread object.
|
static void |
Magic.setThreadRegister(RVMThread p)
Sets contents of "thread" register.
|
abstract int |
SysCall.sysStashVMThread(RVMThread vmThread) |
static void |
Magic.threadSwitch(RVMThread currentThread,
AbstractRegisters restoreRegs)
Switch threads.
|
Constructor and Description |
---|
StackTrace(RVMThread rvmThread)
Constructs a stack trace.
|
Modifier and Type | Field and Description |
---|---|
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 thread 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.
|
Modifier and Type | Method and Description |
---|---|
RVMThread |
ThreadQueue.dequeue() |
static RVMThread |
RVMThread.getCurrentThread() |
private RVMThread |
ThreadQueue.getNext(RVMThread cur) |
RVMThread |
SystemThread.getRVMThread() |
RVMThread |
ThreadQueue.peek() |
static RVMThread |
RVMThread.setupBootThread()
Set up the initial thread and processors as part of boot image writing
|
Modifier and Type | Method and Description |
---|---|
void |
RVMThread.beginPairWith(RVMThread other) |
abstract boolean |
RVMThread.SoftHandshakeVisitor.checkAndSignal(RVMThread t)
Sets 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)
Clears any blocking requests for the thread.
|
(package private) void |
RVMThread.SuspendBlockAdapter.clearBlockRequest(RVMThread t) |
(package private) void |
RVMThread.ThreadStackTraceBlockAdapter.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) |
static StackTraceElement[] |
JMXSupport.getStackTraceForThread(RVMThread rvmThread) |
static String |
Lock.getThreadState(RVMThread t)
scan lock queues for thread and report its state
|
static long |
JMXSupport.getWaitingCount(RVMThread rvmThread) |
static long |
JMXSupport.getWaitingTime(RVMThread rvmThread) |
(package private) abstract boolean |
RVMThread.BlockAdapter.hasBlockRequest(RVMThread t) |
(package private) boolean |
RVMThread.SuspendBlockAdapter.hasBlockRequest(RVMThread t) |
(package private) boolean |
RVMThread.ThreadStackTraceBlockAdapter.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) |
(package private) boolean |
RVMThread.SuspendBlockAdapter.hasBlockRequest(RVMThread t,
int token) |
(package private) boolean |
RVMThread.ThreadStackTraceBlockAdapter.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)
Checks 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) |
(package private) boolean |
RVMThread.SuspendBlockAdapter.isBlocked(RVMThread t) |
(package private) boolean |
RVMThread.ThreadStackTraceBlockAdapter.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) |
static boolean |
JMXSupport.isInNative(RVMThread t)
Checks whether the thread is in native according to JMX.
|
boolean |
ThreadQueue.isQueued(RVMThread t) |
static boolean |
JMXSupport.isSuspended(RVMThread t)
Checks whether the thread is currently suspended
according to JMX.
|
protected boolean |
Lock.isWaiting(RVMThread t) |
void |
RVMThread.SoftHandshakeVisitor.notifyStuckInNative(RVMThread t)
Called when it is determined that the thread is stuck in native.
|
boolean |
ThreadQueue.remove(RVMThread t)
Removes the given thread from the queue if the thread is still on the queue.
|
(package private) abstract int |
RVMThread.BlockAdapter.requestBlock(RVMThread t)
Requests that the thread block, for this block adapter, at its earliest
convenience.
|
(package private) int |
RVMThread.SuspendBlockAdapter.requestBlock(RVMThread t) |
(package private) int |
RVMThread.ThreadStackTraceBlockAdapter.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)
Specifies 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.ThreadStackTraceBlockAdapter.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)
Sets the next pointer of cur to value unless cur is
null ,
in which case it sets head. |