org.jikesrvm.osr
Class ExecutionStateExtractor
java.lang.Object
org.jikesrvm.osr.ExecutionStateExtractor
- All Implemented Interfaces:
- Constants, HeapLayoutConstants, ThinLockConstants, TIBLayoutConstants, SizeConstants
- Direct Known Subclasses:
- BaselineExecutionStateExtractor, OptExecutionStateExtractor
public abstract class ExecutionStateExtractor
- extends Object
- implements Constants
A ExecutionStateExtractor extracts a runtime state (VM scope descriptor)
of a method activation. The implementation depends on compilers and
hardware architectures
- See Also:
ArchitectureSpecificOpt.BaselineExecutionStateExtractor
,
It returns a compiler and architecture neutered runtime state
ExecutionState.
Fields inherited from interface org.jikesrvm.objectmodel.ThinLockConstants |
TL_DEDICATED_U16_OFFSET, TL_DEDICATED_U16_SHIFT, TL_LOCK_COUNT_MASK, TL_LOCK_COUNT_SHIFT, TL_LOCK_COUNT_UNIT, TL_LOCK_ID_MASK, TL_LOCK_ID_SHIFT, TL_NUM_BITS_RC, TL_NUM_BITS_STAT, TL_NUM_BITS_TID, TL_STAT_BIASABLE, TL_STAT_FAT, TL_STAT_MASK, TL_STAT_SHIFT, TL_STAT_THIN, TL_THREAD_ID_MASK, TL_THREAD_ID_SHIFT, TL_UNLOCK_MASK |
Fields inherited from interface org.jikesrvm.SizeConstants |
BITS_IN_ADDRESS, BITS_IN_BOOLEAN, BITS_IN_BYTE, BITS_IN_CHAR, BITS_IN_DOUBLE, BITS_IN_EXTENT, BITS_IN_FLOAT, BITS_IN_INT, BITS_IN_LONG, BITS_IN_OFFSET, BITS_IN_PAGE, BITS_IN_SHORT, BITS_IN_WORD, BYTES_IN_ADDRESS, BYTES_IN_BOOLEAN, BYTES_IN_BYTE, BYTES_IN_CHAR, BYTES_IN_DOUBLE, BYTES_IN_EXTENT, BYTES_IN_FLOAT, BYTES_IN_INT, BYTES_IN_LONG, BYTES_IN_OFFSET, BYTES_IN_PAGE, BYTES_IN_SHORT, BYTES_IN_WORD, LOG_BITS_IN_ADDRESS, LOG_BITS_IN_BOOLEAN, LOG_BITS_IN_BYTE, LOG_BITS_IN_CHAR, LOG_BITS_IN_DOUBLE, LOG_BITS_IN_EXTENT, LOG_BITS_IN_FLOAT, LOG_BITS_IN_INT, LOG_BITS_IN_LONG, LOG_BITS_IN_OFFSET, LOG_BITS_IN_PAGE, LOG_BITS_IN_SHORT, LOG_BITS_IN_WORD, LOG_BYTES_IN_ADDRESS, LOG_BYTES_IN_BOOLEAN, LOG_BYTES_IN_BYTE, LOG_BYTES_IN_CHAR, LOG_BYTES_IN_DOUBLE, LOG_BYTES_IN_EXTENT, LOG_BYTES_IN_FLOAT, LOG_BYTES_IN_INT, LOG_BYTES_IN_LONG, LOG_BYTES_IN_OFFSET, LOG_BYTES_IN_PAGE, LOG_BYTES_IN_SHORT, LOG_BYTES_IN_WORD |
Fields inherited from interface org.jikesrvm.HeapLayoutConstants |
BAD_MAP_COMPRESSION, BOOT_IMAGE_CODE_END, BOOT_IMAGE_CODE_SIZE, BOOT_IMAGE_CODE_START, BOOT_IMAGE_DATA_END, BOOT_IMAGE_DATA_SIZE, BOOT_IMAGE_DATA_START, BOOT_IMAGE_END, BOOT_IMAGE_RMAP_END, BOOT_IMAGE_RMAP_START, MAX_BOOT_IMAGE_RMAP_SIZE, MAXIMUM_MAPPABLE |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ExecutionStateExtractor
public ExecutionStateExtractor()
extractState
public abstract ExecutionState extractState(RVMThread thread,
Offset tsFromFPoff,
Offset ypTakenFPoff,
int cmid)
- Returns a VM scope descriptor (ExecutionState) for a compiled method
on the top of a thread stack, (or a list of descriptors for an inlined
method).
- Parameters:
thread
- a suspended RVM threadtsFromFPoff
- the frame pointer offset of the threadSwitchFrom methodypTakenFPoff
- the frame pointer offset of the real method where
yield point was taken. tsFrom is the callee of ypTakencmid
- the compiled method id of ypTaken
printStackTraces
public static void printStackTraces(int[] stack,
Offset osrFPoff)