|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.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. |
| 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)
|
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)
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 | |||||||||