public final class OptExecutionStateExtractor extends ExecutionStateExtractor
Constructor and Description |
---|
OptExecutionStateExtractor() |
Modifier and Type | Method and Description |
---|---|
private static void |
dumpRegisterContent(WordArray gprs) |
private static void |
dumpStackContent(byte[] stack,
Offset fpOffset) |
ExecutionState |
extractState(RVMThread thread,
Offset osrFPoff,
Offset methFPoff,
int cmid) |
private static double |
getDoubleFrom(int vtype,
int value,
byte[] stack,
Offset fpOffset,
TempRegisters registers) |
private ExecutionState |
getExecStateSequence(RVMThread thread,
byte[] stack,
Offset ipOffset,
Offset fpOffset,
int cmid,
Offset tsFPOffset,
TempRegisters registers,
EncodedOSRMap osrmap) |
private static int |
getIntBitsFrom(int vtype,
int value,
byte[] stack,
Offset fpOffset,
TempRegisters registers) |
private static long |
getLongBitsFrom(int vtypeHigh,
int valueHigh,
int vtypeLow,
int valueLow,
byte[] stack,
Offset fpOffset,
TempRegisters registers) |
private static Object |
getObjectFrom(int vtype,
int value,
byte[] stack,
Offset fpOffset,
TempRegisters registers) |
private void |
restoreValuesFromOptSaveVolatile(byte[] stack,
Offset osrFPoff,
TempRegisters registers,
int regmap,
CompiledMethod cm) |
private static void |
walkOnStack(byte[] stack,
Offset fpOffset) |
printStackTraces
public OptExecutionStateExtractor()
public ExecutionState extractState(RVMThread thread, Offset osrFPoff, Offset methFPoff, int cmid)
extractState
in class ExecutionStateExtractor
thread
- a suspended RVM threadosrFPoff
- the frame pointer offset of the threadSwitchFrom methodmethFPoff
- the frame pointer offset of the real method where
yield point was taken. tsFrom is the callee of ypTakencmid
- the compiled method id of ypTakenprivate void restoreValuesFromOptSaveVolatile(byte[] stack, Offset osrFPoff, TempRegisters registers, int regmap, CompiledMethod cm)
private ExecutionState getExecStateSequence(RVMThread thread, byte[] stack, Offset ipOffset, Offset fpOffset, int cmid, Offset tsFPOffset, TempRegisters registers, EncodedOSRMap osrmap)
private static int getIntBitsFrom(int vtype, int value, byte[] stack, Offset fpOffset, TempRegisters registers)
private static long getLongBitsFrom(int vtypeHigh, int valueHigh, int vtypeLow, int valueLow, byte[] stack, Offset fpOffset, TempRegisters registers)
private static double getDoubleFrom(int vtype, int value, byte[] stack, Offset fpOffset, TempRegisters registers)
private static Object getObjectFrom(int vtype, int value, byte[] stack, Offset fpOffset, TempRegisters registers)
private static void dumpStackContent(byte[] stack, Offset fpOffset)
private static void dumpRegisterContent(WordArray gprs)
private static void walkOnStack(byte[] stack, Offset fpOffset)