|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jikesrvm.osr.ExecutionState
public class ExecutionState
Field Summary | |
---|---|
int |
bcIndex
the program pointer (bytecode index) |
int |
callee_cmid
callee's compiled method id |
ExecutionState |
callerState
the caller's state if this method is an inlinee |
int |
cmid
the compiled method id of the activation (a Java method may have multiple version of compiled method |
Offset |
fpOffset
the offset of frame pointer of the activation. |
private short |
maxStackHeight
|
NormalMethod |
meth
the method of which the execution state belongs to |
private int |
objnum
|
private Object[] |
objs
|
private int |
rid
|
RVMThread |
thread
the thread on which the activation is running |
Offset |
tsFPOffset
the callee (threadSwitch)'s frame pointer of this activation. |
LinkedList<VariableElement> |
varElms
runtime values of locals and stack expressions at the bytecode index Each element is an object of VariableElement. |
Fields inherited from interface org.jikesrvm.osr.OSRConstants |
---|
ACONST, BCI_MASK, BCI_SHIFT, CLEANREFS, DOUBLE, FLOAT, GETREFAT, HIGH_64BIT, ICONST, IEI_MASK, IEI_SHIFT, INT, INVALID_BCI, INVALID_IEI, KIND_MASK, KIND_SHIFT, LCONST, LOCAL, LONG, NEXT_BIT, NO_OSR_ENTRY, NUM_MASK, NUM_SHIFT, OFFSET_MASK, OFFSET_SHIFT, OSRI_MASK, OSRI_SHIFT, PHYREG, PSEUDO_CheckCast, PSEUDO_InvokeCompiledMethod, PSEUDO_InvokeStatic, PSEUDO_LoadDoubleConst, PSEUDO_LoadFloatConst, PSEUDO_LoadIntConst, PSEUDO_LoadLongConst, PSEUDO_LoadRetAddrConst, PSEUDO_LoadWordConst, PSEUDO_ParamInitEnd, REF, RET_ADDR, ReturnAddressTypeCode, SPILL, STACK, TCODE_MASK, TCODE_SHIFT, VTYPE_MASK, VTYPE_SHIFT, WORD, WordTypeCode |
Constructor Summary | |
---|---|
ExecutionState(RVMThread whichThread,
Offset framePointerOffset,
int compiledMethodID,
int pc,
Offset tsFPOffset)
Initializer |
Method Summary | |
---|---|
void |
add(VariableElement elm)
add a VariableElement |
void |
addFirst(VariableElement elm)
insert as the first element, for convinience. |
private static PseudoBytecode |
adjustStackHeight(PseudoBytecode last,
int height)
|
private int |
computeStackHeight(PseudoBytecode head)
|
private static byte[] |
generateBinaries(PseudoBytecode bhead,
int bsize)
|
byte[] |
generatePrologue()
Goes through variable elements and produces specialized prologue using pseudo-bytecode. |
Offset |
getFPOffset()
|
short |
getMaxStackHeight()
|
NormalMethod |
getMethod()
|
RVMThread |
getThread()
returns thread. |
Offset |
getTSFPOffset()
|
private static int |
paddingBytecode(PseudoBytecode head)
Adds padding (NOP) at the beginning of pseudo bytecode to make the new bytecode size dividable by 4, then no branch target adjustment is needed in the original code. |
void |
printState()
print the current state for debugging |
private PseudoBytecode |
processElement(VariableElement var,
PseudoBytecode tail,
int i)
|
void |
setMethod(NormalMethod m)
|
String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public ExecutionState callerState
public int callee_cmid
public NormalMethod meth
public int bcIndex
public LinkedList<VariableElement> varElms
public RVMThread thread
public Offset fpOffset
public Offset tsFPOffset
public int cmid
private Object[] objs
private int objnum
private int rid
private short maxStackHeight
Constructor Detail |
---|
public ExecutionState(RVMThread whichThread, Offset framePointerOffset, int compiledMethodID, int pc, Offset tsFPOffset)
whichThread
- framePointerOffset
- compiledMethodID
- pc
- tsFPOffset
- Method Detail |
---|
public void add(VariableElement elm)
public void addFirst(VariableElement elm)
public RVMThread getThread()
public Offset getFPOffset()
public void setMethod(NormalMethod m)
public NormalMethod getMethod()
public Offset getTSFPOffset()
public void printState()
public byte[] generatePrologue()
private PseudoBytecode processElement(VariableElement var, PseudoBytecode tail, int i)
public short getMaxStackHeight()
private int computeStackHeight(PseudoBytecode head)
private static PseudoBytecode adjustStackHeight(PseudoBytecode last, int height)
private static int paddingBytecode(PseudoBytecode head)
head
-
private static byte[] generateBinaries(PseudoBytecode bhead, int bsize)
public String toString()
toString
in class Object
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |