Package | Description |
---|---|
org.jikesrvm | |
org.jikesrvm.architecture | |
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.opt.runtimesupport | |
org.jikesrvm.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.utility.deque |
Modifier and Type | Field and Description |
---|---|
private static int |
VM.sysWriteLock |
Modifier and Type | Method and Description |
---|---|
static void |
VM.boot()
Begin VM execution.
|
Modifier and Type | Field and Description |
---|---|
private double[] |
AbstractRegisters.fprs
Floating point registers
|
private WordArray |
AbstractRegisters.gprs
General purpose registers
|
private boolean |
AbstractRegisters.inuse
Do exception registers currently contain live values?
|
protected Address |
AbstractRegisters.ip
Instruction address register
|
Modifier and Type | Field and Description |
---|---|
protected int |
RVMType.depth
Number of superclasses to Object.
|
protected int |
RVMType.dimension
Number of [ in descriptor for arrays; -1 for primitives; 0 for
classes.
|
protected int |
RVMType.id
Type id -- used to index into typechecking datastructures
|
private int |
RVMArray.innermostElementTypeDimension
The dimension of the innermost element of this array type.
|
private static int[] |
TableBasedDynamicLinker.memberOffsets
Linking table keyed by member reference IDs.
|
Modifier and Type | Method and Description |
---|---|
static ITable |
InterfaceInvocation.findITable(TIB tib,
int id)
Return a reference to the itable for a given class, interface pair
We might not have created the iTable yet, in which case we will do that and then return it.
|
static CodeArray |
InterfaceInvocation.invokeInterface(Object target,
int mid)
Resolve an interface method call.
|
static int |
TableBasedDynamicLinker.resolveMember(int memberId)
Cause dynamic linking of the RVMMember whose member reference id is given.
|
static void |
InterfaceInvocation.unresolvedInvokeinterfaceImplementsTest(int mid,
Object rhsObject)
mid is the dictionary id of an interface method we are trying to invoke
RHStib is the TIB of an object on which we are attempting to invoke it. |
Modifier and Type | Field and Description |
---|---|
private static int[][] |
EdgeCounts.data
Array of edge count data.
|
Modifier and Type | Method and Description |
---|---|
static void |
OptSaveVolatile.yieldpointFromBackedge()
Handle timer interrupt taken on loop backedge.
|
static void |
OptSaveVolatile.yieldpointFromEpilogue()
Handle timer interrupt taken in method epilogue.
|
static void |
OptSaveVolatile.yieldpointFromNativeEpilogue()
Handle timer interrupt taken in the epilogue of a native method.
|
static void |
OptSaveVolatile.yieldpointFromNativePrologue()
Handle timer interrupt taken in the prologue of a native method.
|
static void |
OptSaveVolatile.yieldpointFromOsrOpt()
OSR invalidation being initiated.
|
static void |
OptSaveVolatile.yieldpointFromPrologue()
Handle timer interrupt taken in method prologue.
|
Modifier and Type | Field and Description |
---|---|
Address |
Registers.fp
Frame pointer
|
private static CodeArray |
OutOfLineMachineCode.reflectiveMethodInvokerInstructions |
private static CodeArray |
OutOfLineMachineCode.restoreHardwareExceptionStateInstructions |
private static CodeArray |
OutOfLineMachineCode.saveThreadStateInstructions |
private static CodeArray |
OutOfLineMachineCode.threadSwitchInstructions |
Modifier and Type | Method and Description |
---|---|
(package private) static Object |
MultianewarrayHelper.newArrayArray(int methodId,
int numDimensions,
int typeId,
int argOffset)
Allocate something like {@code new Foo[cnt0][cnt1]...
|
Modifier and Type | Field and Description |
---|---|
private Address |
JNIEnvironment.basePointerOnEntryToNative
When native code doesn't maintain a base pointer we can't chain
through the base pointers when walking the stack.
|
private Address |
JNIEnvironment.externalJNIFunctions
This is the pointer to the shared JNIFunction table.
|
static AddressArray |
JNIGlobalRefTable.JNIGlobalRefs |
AddressArray |
JNIEnvironment.JNIRefs
references passed to native code
|
protected int |
JNIEnvironment.JNIRefsMax
Offset of end (last entry) of JNIRefs array
|
int |
JNIEnvironment.JNIRefsSavedFP
Previous frame boundary in JNIRefs array.
|
int |
JNIEnvironment.JNIRefsTop
Offset of current top ref in JNIRefs array
|
private Address |
JNIEnvironment.JNITopJavaFP
When transitioning between Java and C and back, we may want to stop a thread
returning into Java and executing mutator code when a GC is in progress.
|
private Address |
JNIEnvironment.savedJTOC
For saving JTOC register on entry to native,
to be restored on JNI call from native (only used on PowerPC)
|
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 |
JNIEnvironment.entryToJNI(int encodedReferenceOffsets)
Save data and perform necessary conversions for entry into JNI.
|
Object |
JNIEnvironment.exitFromJNI(int offset)
Restore data, throw pending exceptions or convert return value for exit
from JNI.
|
static void |
JNIEnvironment.throwPendingException()
Return and clear the (known to be non-null) pending exception.
|
Modifier and Type | Method and Description |
---|---|
static Address |
Barriers.addressFieldRead(Object ref,
Offset offset,
int locationMetadata)
Barrier for loads of Address's from fields of instances (i.e. getfield).
|
static void |
Barriers.addressFieldWrite(Object ref,
Address value,
Offset offset,
int locationMetadata)
Barrier for writes of Address's into fields of instances (i.e. putfield).
|
static boolean |
Barriers.booleanArrayRead(boolean[] ref,
int index)
Barrier for loads of booleans from fields of arrays (i.e. aload).
|
static void |
Barriers.booleanArrayWrite(boolean[] ref,
int index,
boolean value)
Barrier for writes of booleans into arrays (i.e. bastore).
|
static boolean |
Barriers.booleanFieldRead(Object ref,
Offset offset,
int locationMetadata)
Barrier for loads of booleans from fields of instances (i.e. getfield).
|
static void |
Barriers.booleanFieldWrite(Object ref,
boolean value,
Offset offset,
int locationMetadata)
Barrier for writes of booleans into fields of instances (i.e. putfield).
|
static byte |
Barriers.byteArrayRead(byte[] ref,
int index)
Barrier for loads of bytes from fields of arrays (i.e. baload).
|
static void |
Barriers.byteArrayWrite(byte[] ref,
int index,
byte value)
Barrier for writes of bytes into arrays (i.e. bastore).
|
static byte |
Barriers.byteFieldRead(Object ref,
Offset offset,
int locationMetadata)
Barrier for loads of bytes from fields of instances (i.e. getfield).
|
static void |
Barriers.byteFieldWrite(Object ref,
byte value,
Offset offset,
int locationMetadata)
Barrier for writes of bytes into fields of instances (i.e. putfield).
|
static char |
Barriers.charArrayRead(char[] ref,
int index)
Barrier for loads of chars from fields of arrays (i.e. caload).
|
static void |
Barriers.charArrayWrite(char[] ref,
int index,
char value)
Barrier for writes of chars into arrays (i.e. castore).
|
static char |
Barriers.charFieldRead(Object ref,
Offset offset,
int locationMetadata)
Barrier for loads of chars from fields of instances (i.e. getfield).
|
static void |
Barriers.charFieldWrite(Object ref,
char value,
Offset offset,
int locationMetadata)
Barrier for writes of chars into fields of instances (i.e. putfield).
|
static double |
Barriers.doubleArrayRead(double[] ref,
int index)
Barrier for loads of doubles from fields of arrays (i.e. daload).
|
static void |
Barriers.doubleArrayWrite(double[] ref,
int index,
double value)
Barrier for writes of doubles into arrays (i.e. dastore).
|
static double |
Barriers.doubleFieldRead(Object ref,
Offset offset,
int locationMetadata)
Barrier for loads of doubles from fields of instances (i.e. getfield).
|
static void |
Barriers.doubleFieldWrite(Object ref,
double value,
Offset offset,
int locationMetadata)
Barrier for writes of doubles into fields of instances (i.e. putfield).
|
static Extent |
Barriers.extentFieldRead(Object ref,
Offset offset,
int locationMetadata)
Barrier for loads of Extents from fields of instances (i.e. getfield).
|
static void |
Barriers.extentFieldWrite(Object ref,
Extent value,
Offset offset,
int locationMetadata)
Barrier for writes of Extents into fields of instances (i.e. putfield).
|
static float |
Barriers.floatArrayRead(float[] ref,
int index)
Barrier for loads of floats from fields of arrays (i.e. faload).
|
static void |
Barriers.floatArrayWrite(float[] ref,
int index,
float value)
Barrier for writes of floats into arrays (i.e. fastore).
|
static float |
Barriers.floatFieldRead(Object ref,
Offset offset,
int locationMetadata)
Barrier for loads of floats from fields of instances (i.e. getfield).
|
static void |
Barriers.floatFieldWrite(Object ref,
float value,
Offset offset,
int locationMetadata)
Barrier for writes of floats into fields of instances (i.e. putfield).
|
static int |
Barriers.intArrayRead(int[] ref,
int index)
Barrier for loads of ints from fields of arrays (i.e. iaload).
|
static void |
Barriers.intArrayWrite(int[] ref,
int index,
int value)
Barrier for writes of ints into arrays (i.e. iastore).
|
static int |
Barriers.intFieldRead(Object ref,
Offset offset,
int locationMetadata)
Barrier for loads of ints from fields of instances (i.e. getfield).
|
static void |
Barriers.intFieldWrite(Object ref,
int value,
Offset offset,
int locationMetadata)
Barrier for writes of ints into fields of instances (i.e. putfield).
|
static long |
Barriers.longArrayRead(long[] ref,
int index)
Barrier for loads of longs from fields of arrays (i.e. laload).
|
static void |
Barriers.longArrayWrite(long[] ref,
int index,
long value)
Barrier for writes of longs into arrays (i.e. lastore).
|
static long |
Barriers.longFieldRead(Object ref,
Offset offset,
int locationMetadata)
Barrier for loads of longs from fields of instances (i.e. getfield).
|
static void |
Barriers.longFieldWrite(Object ref,
long value,
Offset offset,
int locationMetadata)
Barrier for writes of longs into fields of instances (i.e. putfield).
|
static void |
MemoryManager.modifyCheck(Object object)
Checks that if a garbage collection is in progress then the given
object is not movable.
|
static Object |
Barriers.objectArrayRead(Object[] ref,
int index)
Barrier for loads of objects from fields of arrays (i.e. aaload).
|
static void |
Barriers.objectArrayWrite(Object[] ref,
int index,
Object value)
Barrier for writes of objects into arrays (i.e. aastore).
|
static Object |
Barriers.objectFieldRead(Object ref,
Offset offset,
int locationMetadata)
Barrier for loads of objects from fields of instances (i.e. getfield).
|
static void |
Barriers.objectFieldWrite(Object ref,
Object value,
Offset offset,
int locationMetadata)
Barrier for writes of objects into fields of instances (i.e. putfield).
|
static Object |
Barriers.objectStaticRead(Offset offset,
int locationMetadata)
Barrier for loads of objects from statics (i.e. getstatic)
|
static void |
Barriers.objectStaticWrite(Object value,
Offset offset,
int locationMetadata)
Barrier for writes of objects from statics (eg putstatic)
|
static Offset |
Barriers.offsetFieldRead(Object ref,
Offset offset,
int locationMetadata)
Barrier for loads of Offsets from fields of instances (i.e. getfield).
|
static void |
Barriers.offsetFieldWrite(Object ref,
Offset value,
Offset offset,
int locationMetadata)
Barrier for writes of Offsets into fields of instances (i.e. putfield).
|
static short |
Barriers.shortArrayRead(short[] ref,
int index)
Barrier for loads of shorts from fields of arrays (i.e. saload).
|
static void |
Barriers.shortArrayWrite(short[] ref,
int index,
short value)
Barrier for writes of shorts into arrays (i.e. sastore).
|
static short |
Barriers.shortFieldRead(Object ref,
Offset offset,
int locationMetadata)
Barrier for loads of shorts from fields of instances (i.e. getfield).
|
static void |
Barriers.shortFieldWrite(Object ref,
short value,
Offset offset,
int locationMetadata)
Barrier for writes of shorts into fields of instances (i.e. putfield).
|
static Word |
Barriers.wordFieldRead(Object ref,
Offset offset,
int locationMetadata)
Barrier for loads of Words from fields of instances (i.e. getfield).
|
static void |
Barriers.wordFieldWrite(Object ref,
Word value,
Offset offset,
int locationMetadata)
Barrier for writes of Words into fields of instances (i.e. putfield).
|
Modifier and Type | Field and Description |
---|---|
private int |
SynchronizedCounter.count |
private int |
Lock.state |
Modifier and Type | Field and Description |
---|---|
private static Word |
MiscHeader.oid
The next object ID to be used.
|
private static Word |
MiscHeader.prevAddress
The address of the last object allocated into the header.
|
Modifier and Type | Method and Description |
---|---|
static void |
ObjectModel.genericLock(Object o) |
static void |
ObjectModel.genericUnlock(Object o) |
Modifier and Type | Field and Description |
---|---|
(package private) static double |
MathConstants.billionth |
(package private) int |
BootRecord.externalSignalFlag
an external signal has been sent e.g. kill -signalnumber processid
|
(package private) static float |
MathConstants.half |
(package private) static float |
MathConstants.half32 |
(package private) static double |
MathConstants.I2Dconstant |
(package private) static double |
MathConstants.IEEEmagic |
(package private) static long |
MathConstants.longOne |
(package private) static double |
MathConstants.maxint
largest double that can be rounded to an int
|
(package private) static float |
MathConstants.maxintF
largest float that can be rounded to an int (0x7FFFFFFF)
|
(package private) static double |
MathConstants.maxlong
largest double that can be rounded to a long
|
(package private) static float |
MathConstants.maxlongF
largest float that can be rounded to a long (0x7FFFFFFFFFFFFFFF)
|
(package private) static double |
MathConstants.minint
smallest double that can be rounded to an int
|
(package private) static float |
MathConstants.minusOne |
private static ObjectAddressRemapper |
Magic.objectAddressRemapper |
(package private) static float |
MathConstants.one |
(package private) static double |
MathConstants.oneD |
Address |
BootRecord.sysDoubleRemainderIP |
Address |
BootRecord.sysDoubleToIntIP |
Address |
BootRecord.sysDoubleToLongIP |
Address |
BootRecord.sysFloatToIntIP |
Address |
BootRecord.sysFloatToLongIP |
Address |
BootRecord.sysLongDivideIP |
Address |
BootRecord.sysLongRemainderIP |
Address |
BootRecord.sysLongToDoubleIP |
Address |
BootRecord.sysLongToFloatIP |
static BootRecord |
BootRecord.the_boot_record
The following static field is initialized by the boot image writer.
|
(package private) static float |
MathConstants.two |
(package private) static float |
MathConstants.two32 |
(package private) static float |
MathConstants.zero |
(package private) static double |
MathConstants.zeroD |
Modifier and Type | Method and Description |
---|---|
(package private) static void |
RuntimeEntrypoints.aastore(Object[] arrayRef,
int index,
Object value) |
(package private) static void |
RuntimeEntrypoints.aastoreUninterruptible(Object[] arrayRef,
int index,
Object value) |
static void |
RuntimeEntrypoints.athrow(Throwable exceptionObject)
Deliver a software exception to current java thread.
|
(package private) static void |
RuntimeEntrypoints.checkcast(Object object,
int id)
Throw exception unless object is instance of target
class/array or implements target interface.
|
(package private) static void |
RuntimeEntrypoints.checkstore(Object array,
Object arrayElement) |
(package private) static void |
RuntimeEntrypoints.deliverHardwareException(int trapCode,
Word trapInfo)
Deliver a hardware exception to current java thread.
|
(package private) static boolean |
RuntimeEntrypoints.instanceOf(Object object,
int targetID)
Test if object is instance of target class/array or
implements target interface.
|
(package private) static void |
DynamicLinker.lazyMethodInvoker()
Resolve, compile if necessary, and invoke a method.
|
(package private) static void |
RuntimeEntrypoints.raiseAbstractMethodError()
Create and throw a java.lang.AbstractMethodError.
|
(package private) static void |
RuntimeEntrypoints.raiseArithmeticException()
Create and throw a java.lang.ArithmeticException.
|
(package private) static void |
RuntimeEntrypoints.raiseArrayIndexOutOfBoundsException(int index)
Create and throw a java.lang.ArrayIndexOutOfBoundsException.
|
(package private) static void |
RuntimeEntrypoints.raiseIllegalAccessError()
Create and throw a java.lang.IllegalAccessError.
|
static void |
RuntimeEntrypoints.raiseNullPointerException()
Create and throw a java.lang.NullPointerException.
|
static Object |
RuntimeEntrypoints.resolvedNewArray(int numElements,
int logElementSize,
int headerSize,
TIB tib,
int allocator,
int align,
int offset,
int site)
Allocate something like "new int[cnt]" or "new Foo[cnt]".
|
static Object |
RuntimeEntrypoints.resolvedNewScalar(int size,
TIB tib,
boolean hasFinalizer,
int allocator,
int align,
int offset,
int site)
Allocate something like "new Foo()".
|
(package private) static void |
DynamicLinker.sysCallMethod()
Report a magic SysCall has been mistakenly invoked
|
(package private) static void |
RuntimeEntrypoints.unexpectedAbstractMethodCall()
Report unexpected method call: abstract method (verification error).
|
(package private) static void |
DynamicLinker.unimplementedNativeMethod()
Report unimplemented native method error.
|
(package private) static void |
RuntimeEntrypoints.unlockAndThrow(Object objToUnlock,
Throwable objToThrow)
Unlock an object and then deliver a software exception
to current java thread.
|
static Object |
RuntimeEntrypoints.unresolvedNewArray(int numElements,
int id,
int site)
Allocate something like "new Foo[]".
|
(package private) static Object |
RuntimeEntrypoints.unresolvedNewScalar(int id,
int site)
Allocate something like "new Foo()".
|
Modifier and Type | Field and Description |
---|---|
(package private) int |
RVMThread.arrayIndexTrapParam
"hidden parameter" from ArrayIndexOutOfBounds trap to C trap handler
|
static RVMThread |
RVMThread.bootThread
The boot thread, can't be final so as to allow initialization during boot
image writing.
|
AbstractRegisters |
RVMThread.contextRegisters
Place to save register state when this thread is not actually running.
|
AbstractRegisters |
RVMThread.contextRegistersSave
Place to save register state when this thread is not actually running.
|
private AbstractRegisters |
RVMThread.exceptionRegisters
Place to save register state during hardware(C signal trap handler) or
software (RuntimeEntrypoints.athrow) trap handling.
|
private int |
RVMThread.execStatus
Thread state.
|
(package private) Address |
RVMThread.framePointer
FP for current frame, saved in the prologue of every method
|
(package private) int |
RVMThread.hiddenSignatureId
"hidden parameter" for interface invocation thru the IMT
|
private Address |
RVMThread.hijackedReturnAddress
Return address of stack frame hijacked by return barrier
|
private JNIEnvironment |
RVMThread.jniEnv
Cached JNI environment for this thread
|
(package private) RVMThread |
SpinLock.latestContender
The state of the thread lock.
|
private byte[] |
RVMThread.stack
Execution stack for this thread.
|
Address |
RVMThread.stackLimit
The
Address of the guard area for RVMThread.stack . |
int |
RVMThread.takeYieldpoint
Should the next executed yieldpoint be taken?
|
int |
RVMThread.threadSlot
Index of this thread in
RVMThread.threadBySlot []. |
private AbstractRegisters |
RVMThread.trampolineRegisters
Registers used by return barrier trampoline
|
Modifier and Type | Method and Description |
---|---|
static void |
RVMThread.dumpStackAndDie(Address fp)
Dump state of a (stopped) thread's stack and exit the virtual machine.
|
static void |
RVMThread.enterJNIBlockedFromCallIntoNative() |
static void |
RVMThread.enterJNIBlockedFromJNIFunctionCall() |
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.returnBarrier()
The return barrier.
|
void |
RVMThread.run()
Method to be executed when this thread starts running.
|
void |
MainThread.run()
Run "main" thread.
|
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 | Field and Description |
---|---|
private static int |
Plan.gcStatus |
Modifier and Type | Field and Description |
---|---|
private int |
SharedDeque.bufsenqueued |
private int |
SharedDeque.completionFlag
Completion flag - set when all consumers have arrived at the barrier
|
protected Address |
LocalQueue.head
the start of the buffer
|
protected Address |
SharedDeque.head
Head of the shared deque
|
private int |
SharedDeque.numConsumers
# active threads - processing is complete when # waiting == this
|
private int |
SharedDeque.numConsumersWaiting
# threads waiting
|
protected Address |
SharedDeque.tail
Tail of the shared deque
|
protected Address |
LocalSSB.tail
the location in the buffer
|