Package | Description |
---|---|
org.jikesrvm | |
org.jikesrvm.adaptive | |
org.jikesrvm.adaptive.measurements.organizers | |
org.jikesrvm.classloader |
Provides classes that implement the classloading system as well as
data types that represent Java entities like classes, fields, methods
and primitives.
|
org.jikesrvm.compilers.baseline | |
org.jikesrvm.compilers.baseline.ia32 | |
org.jikesrvm.compilers.common | |
org.jikesrvm.compilers.opt.runtimesupport | |
org.jikesrvm.compilers.opt.runtimesupport.ia32 | |
org.jikesrvm.jni | |
org.jikesrvm.mm.mminterface | |
org.jikesrvm.mm.mmtk | |
org.jikesrvm.objectmodel | |
org.jikesrvm.runtime | |
org.jikesrvm.scheduler | |
org.mmtk.plan | |
org.mmtk.plan.concurrent | |
org.mmtk.vm |
Provides classes that specify the interface between MMTk and the VM.
|
Modifier and Type | Method and Description |
---|---|
static void |
VM.disableGC()
The disableGC() and enableGC() methods are for use as guards to protect
code that must deal with raw object addresses in a collection-safe manner
(i.e. code that holds raw pointers across "gc-sites").
|
static void |
VM.disableGC(boolean recursiveOK)
disableGC: Disable GC if it hasn't already been disabled.
|
Modifier and Type | Class and Description |
---|---|
class |
OSRListener
Code invoked from Thread.yieldpoint for the purposes of OSR.
|
Modifier and Type | Method and Description |
---|---|
static void |
OnStackReplacementTrigger.trigger(int ypTakenInCMID,
Offset tsFromFPoff,
Offset ypTakenFPoff,
int whereFrom) |
Modifier and Type | Method and Description |
---|---|
private void |
Organizer.passivate() |
Modifier and Type | Method and Description |
---|---|
CompiledMethod |
RVMMethod.getCurrentCompiledMethod()
Get the current compiled method for this method.
|
Modifier and Type | Method and Description |
---|---|
int |
BaselineCompiledMethod.findCatchBlockForInstruction(Offset instructionOffset,
RVMType exceptionType)
Find a catch block within the compiled method
|
Modifier and Type | Method and Description |
---|---|
void |
BaselineExceptionDeliverer.deliverException(CompiledMethod compiledMethod,
Address catchBlockInstructionAddress,
Throwable exceptionObject,
AbstractRegisters registers)
Pass control to a catch block.
|
void |
BaselineExceptionDeliverer.unwindStackFrame(CompiledMethod compiledMethod,
AbstractRegisters registers)
Unwind a stackframe.
|
Modifier and Type | Method and Description |
---|---|
static int |
ExceptionTable.findCatchBlockForInstruction(int[] eTable,
Offset instructionOffset,
RVMType exceptionType)
Return the machine code offset for the catch block that will handle
the argument exceptionType,or -1 if no such catch block exists.
|
int |
HardwareTrapCompiledMethod.findCatchBlockForInstruction(Offset instructionOffset,
RVMType exceptionType) |
abstract int |
CompiledMethod.findCatchBlockForInstruction(Offset instructionOffset,
RVMType exceptionType)
Find "catch" block for a machine instruction of
this method that might be guarded
against specified class of exceptions by a "try" block.
|
Modifier and Type | Class and Description |
---|---|
class |
OptSaveVolatile
Contains routines that must be compiled with special prologues and eplilogues that
save/restore all registers (both volatile and non-volatile).
|
Modifier and Type | Method and Description |
---|---|
int |
OptCompiledMethod.findCatchBlockForInstruction(Offset instructionOffset,
RVMType exceptionType)
Find "catch" block for a machine instruction of this method.
|
Modifier and Type | Method and Description |
---|---|
void |
OptExceptionDeliverer.deliverException(CompiledMethod compiledMethod,
Address catchBlockInstructionAddress,
Throwable exceptionObject,
AbstractRegisters registers)
Pass control to a catch block.
|
void |
OptExceptionDeliverer.unwindStackFrame(CompiledMethod compiledMethod,
AbstractRegisters registers)
Unwind a stackframe.
|
Modifier and Type | Method and Description |
---|---|
Object |
JNIEnvironment.exitFromJNI(int offset)
Restore data, throw pending exceptions or convert return value for exit
from JNI.
|
int |
JNICompiledMethod.findCatchBlockForInstruction(Offset instructionOffset,
RVMType exceptionType) |
static void |
JNIEnvironment.throwPendingException()
Return and clear the (known to be non-null) pending exception.
|
Modifier and Type | Method and Description |
---|---|
static Object |
MemoryManager.allocateArray(int numElements,
int logElementSize,
int headerSize,
TIB tib,
int allocator,
int align,
int offset,
int site)
Allocate an array object.
|
static Object |
MemoryManager.getFinalizedObject()
Gets an object from the list of objects that are to be reclaimed
and need to have their
finalize method called. |
static byte[] |
MemoryManager.newStack(int bytes)
Allocate a stack
|
void |
CollectorThread.run()
Collection entry point.
|
Modifier and Type | Method and Description |
---|---|
static void |
FinalizableProcessor.addCandidate(Object object)
Add a finalization candidate.
|
private void |
ReferenceProcessor.addCandidate(Reference<?> ref,
ObjectReference referent)
Add a reference to the list of references.
|
void |
Collection.blockForGC() |
static Object |
FinalizableProcessor.getForFinalize() |
Object |
FinalizableProcessor.getReady()
Get an object to run finalize().
|
void |
Collection.resumeAllMutators() |
void |
Collection.stopAllMutators() |
Modifier and Type | Method and Description |
---|---|
static void |
JavaHeader.genericLock(Object o) |
static void |
ObjectModel.genericLock(Object o) |
static void |
JavaHeader.genericUnlock(Object o) |
static void |
ObjectModel.genericUnlock(Object o) |
static Lock |
JavaHeader.getHeavyLock(Object o,
boolean create)
Obtains the heavy-weight lock, if there is one, associated with the
indicated object.
|
static Lock |
ObjectModel.getHeavyLock(Object o,
boolean create)
Obtains the heavy-weight lock, if there is one, associated with the
indicated object.
|
Modifier and Type | Method and Description |
---|---|
static void |
RuntimeEntrypoints.athrow(Throwable exceptionObject)
Deliver a software exception to current java thread.
|
abstract void |
ExceptionDeliverer.deliverException(CompiledMethod compiledMethod,
Address catchBlockInstructionAddress,
Throwable exceptionObject,
AbstractRegisters registers)
Stackframe's method has a "catch" block for exception being
thrown and control is to be passed to that catch block.
|
private static void |
RuntimeEntrypoints.deliverException(Throwable exceptionObject,
AbstractRegisters exceptionRegisters)
Deliver an exception to current java thread.
|
static int |
FileSystem.readByte(int fd)
Read single byte from file.
|
static int |
FileSystem.readBytes(int fd,
byte[] buf,
int off,
int cnt)
Reads multiple bytes.
|
abstract void |
ExceptionDeliverer.unwindStackFrame(CompiledMethod compiledMethod,
AbstractRegisters registers)
Stackframe's method has no "catch" block for exception being thrown
and stackframe is to be "unwound" as follows:
1. for a synchronized method, call ObjectModel.genericUnlock(),
passing it the appropriate "lock" object
for non-static methods, the lock is the method's
first argument ("this")
for static methods, the lock is the method's java.lang.Class
2. restore the non-volatile registers (including fp) that were saved
in the method's prologue, by copying them from the method's stackframe
save area into the provided "registers" object
|
static int |
FileSystem.writeByte(int fd,
int b)
Write single byte to file
|
static int |
FileSystem.writeBytes(int fd,
byte[] buf,
int off,
int cnt)
Writes multiple bytes.
|
Modifier and Type | Class and Description |
---|---|
class |
Latch
An implementation of a latch using the HeavyCondLock in "nice" mode.
|
Modifier and Type | Method and Description |
---|---|
protected static Lock |
ThinLock.attemptToInflate(Object o,
Offset lockOffset,
Lock l)
Promotes a light-weight lock to a heavy-weight lock.
|
static boolean |
ThinLock.attemptToMarkInflated(Object o,
Offset lockOffset,
Word oldLockWord,
int lockId,
int cnt) |
void |
RVMThread.beginPairHandshake() |
void |
RVMThread.beginPairWith(RVMThread other) |
void |
RVMThread.beginPairWithCurrent() |
int |
RVMThread.block(RVMThread.BlockAdapter ba) |
(package private) int |
RVMThread.block(RVMThread.BlockAdapter ba,
boolean asynchronous)
Attempts to block the thread, and return the state it is in after the
attempt.
|
static void |
RVMThread.blockAllMutatorsForGC()
Stop all mutator threads.
|
static boolean |
ThinLock.casFromBiased(Object o,
Offset lockOffset,
Word oldLockWord,
Word changed,
int cnt) |
(package private) void |
RVMThread.checkBlock()
Check if the thread is supposed to block, and if so, block it.
|
private void |
RVMThread.checkBlockNoSaveContext()
A variant of checkBlock() that does not save the thread state.
|
static Lock |
ThinLock.getHeavyLock(Object o,
Offset lockOffset,
boolean create)
Obtains the heavy-weight lock, if there is one, associated with the
indicated object.
|
static void |
RVMThread.hardHandshakeResume() |
static void |
RVMThread.hardHandshakeResume(RVMThread.BlockAdapter ba,
RVMThread.HardHandshakeVisitor hhv) |
static void |
RVMThread.hardHandshakeSuspend() |
static void |
RVMThread.hardHandshakeSuspend(RVMThread.BlockAdapter ba,
RVMThread.HardHandshakeVisitor hhv) |
private static Lock |
ThinLock.inflate(Object o,
Offset lockOffset)
Promotes a light-weight lock to a heavy-weight lock.
|
private static boolean |
ThinLock.inflateAndLock(Object o,
Offset lockOffset)
Promotes a light-weight lock to a heavy-weight lock and locks it.
|
static void |
ThinLock.inlineLock(Object o,
Offset lockOffset) |
static void |
ThinLock.inlineUnlock(Object o,
Offset lockOffset) |
private void |
RVMThread.leaveJNIBlocked() |
static void |
RVMThread.leaveJNIBlockedFromCallIntoNative()
Called when JNI code tried to transition from IN_JNI to IN_JAVA but failed
|
(package private) static void |
RVMThread.leaveJNIBlockedFromJNIFunctionCall() |
static void |
RVMThread.leaveJNIFromCallIntoNative() |
static void |
RVMThread.leaveJNIFromJNIFunctionCall() |
static void |
RVMThread.leaveNative()
Leave privileged code.
|
private void |
RVMThread.leaveNativeBlocked() |
private void |
RVMThread.leaveNativeBlockedImpl() |
static void |
ThinLock.lock(Object o,
Offset lockOffset) |
void |
LightMonitor.lockedBroadcastWithHandshake() |
boolean |
Lock.lockHeavy(Object o)
Acquires this heavy-weight lock on the indicated object.
|
boolean |
Lock.lockHeavyLocked(Object o)
Completes the task of acquiring the heavy lock, assuming that the mutex
is already acquired (locked).
|
void |
NoYieldpointsMonitor.lockWithHandshake() |
void |
Monitor.lockWithHandshake()
Wait until it is possible to acquire the lock and then acquire it.
|
void |
LightMonitor.lockWithHandshake() |
static void |
Monitor.lockWithHandshake(Monitor m1,
Word priority1,
Monitor m2,
Word priority2) |
private void |
Monitor.lockWithHandshakeNoRec() |
private void |
Monitor.lockWithHandshakeNoRecImpl() |
void |
Monitor.relockWithHandshake(int recCount)
Relocks the mutex after using
Monitor.unlockCompletely() and notify
the threading subsystem. |
private void |
Monitor.relockWithHandshakeImpl(int recCount) |
static void |
RVMThread.resizeCurrentStack(int newSize,
AbstractRegisters exceptionRegisters)
Change the size of the currently executing thread's stack.
|
static void |
RVMThread.returnBarrier()
The return barrier.
|
int |
RVMThread.safeAsyncBlock(RVMThread.BlockAdapter ba) |
int |
RVMThread.safeBlock(RVMThread.BlockAdapter ba) |
private int |
RVMThread.safeBlock(RVMThread.BlockAdapter ba,
boolean asynchronous) |
private static void |
ThinLock.setDedicatedU16(Object o,
Offset lockOffset,
Word value)
Set only the dedicated locking 16-bit part of the given value.
|
static void |
RVMThread.softHandshake(RVMThread.SoftHandshakeVisitor v)
Tell each thread to take a yieldpoint and wait until all of them have done
so at least once.
|
private void |
RVMThread.terminateUnpreemptible()
Unpreemptible portion of thread termination.
|
private static void |
RVMThread.throwFromUninterruptible(Throwable e) |
void |
Monitor.timedWaitAbsoluteWithHandshake(long whenWakeupNanos)
Wait until someone calls
Monitor.broadcast() , or until the clock
reaches the given time. |
private void |
Monitor.timedWaitAbsoluteWithHandshakeImpl(long whenWakeupNanos) |
void |
Monitor.timedWaitRelativeWithHandshake(long delayNanos)
Wait until someone calls
Monitor.broadcast() , or until at least the given
number of nanoseconds pass. |
private void |
Monitor.timedWaitRelativeWithHandshakeImpl(long delayNanos) |
static void |
RVMThread.unblockAllMutatorsForGC()
Unblock all mutators blocked for GC.
|
static void |
ThinLock.unlock(Object o,
Offset lockOffset) |
void |
Lock.unlockHeavy(Object o)
Releases this heavy-weight lock on the indicated object.
|
void |
Monitor.waitWithHandshake()
Wait until someone calls
Monitor.broadcast() . |
private void |
Monitor.waitWithHandshakeImpl() |
static void |
RVMThread.yieldpoint(int whereFrom,
Address yieldpointServiceMethodFP)
Process a taken yieldpoint.
|
static void |
RVMThread.yieldpointFromBackedge()
Yieldpoint taken on backedge.
|
static void |
RVMThread.yieldpointFromEpilogue()
Yieldpoint taken in epilogue.
|
static void |
RVMThread.yieldpointFromPrologue()
Yieldpoint taken in prologue.
|
Modifier and Type | Method and Description |
---|---|
void |
StopTheWorldCollector.concurrentCollect()
Perform some concurrent garbage collection
|
static void |
Plan.handleUserCollectionRequest()
The application code has requested a collection.
|
static boolean |
Phase.notifyConcurrentPhaseComplete()
Notify that the concurrent phase has completed successfully.
|
void |
ControllerCollectorContext.run()
Main execution loop.
|
abstract void |
CollectorContext.run()
Entry point for the collector context.
|
void |
ParallelCollector.run()
Entry point for the collector context.
|
Modifier and Type | Method and Description |
---|---|
void |
ConcurrentCollector.concurrentCollect()
Perform some concurrent garbage collection
|
void |
ConcurrentCollector.concurrentCollectionPhase(short phaseId)
Perform some concurrent collection work.
|
void |
ConcurrentCollector.run()
Entry point for the collector context.
|
Modifier and Type | Method and Description |
---|---|
abstract void |
Collection.blockForGC()
Block for the garbage collector.
|
abstract void |
Collection.resumeAllMutators()
Resume all mutators blocked for GC.
|
abstract void |
Collection.stopAllMutators()
Stop all mutator threads.
|