|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.jikesrvm.mm.mminterface.GCMapIterator org.jikesrvm.compilers.opt.runtimesupport.OptGenericGCMapIterator org.jikesrvm.compilers.opt.runtimesupport.ia32.OptGCMapIterator
public abstract class OptGCMapIterator
An instance of this class provides iteration across the references represented by a frame built by the OPT compiler.
The architecture-specific version of the GC Map iterator. It inherits its architecture-independent code from OptGenericGCMapIterator. This version is for IA32.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.jikesrvm.ia32.RegisterConstants |
---|
RegisterConstants.FloatingPointMachineRegister, RegisterConstants.FPR, RegisterConstants.GPR, RegisterConstants.MachineRegister, RegisterConstants.MM, RegisterConstants.XMM |
Field Summary | |
---|---|
private static boolean |
DEBUG
|
(package private) static int |
SAVE_VOL_SIZE
|
(package private) static int |
VOL_SIZE
|
Fields inherited from class org.jikesrvm.compilers.opt.runtimesupport.OptGenericGCMapIterator |
---|
compiledMethod |
Fields inherited from class org.jikesrvm.mm.mminterface.GCMapIterator |
---|
framePtr, registerLocations, thread |
Fields inherited from interface org.jikesrvm.compilers.opt.runtimesupport.ia32.OptGCMapIteratorConstants |
---|
FIRST_GCMAP_REG, LAST_GCMAP_REG |
Fields inherited from interface org.jikesrvm.compilers.opt.regalloc.ia32.PhysicalRegisterConstants |
---|
AF, C0, C1, C2, C3, CF, CONDITION_VALUE, DOUBLE_REG, DOUBLE_VALUE, FIRST_DOUBLE, FIRST_INT, FIRST_SPECIAL, FLOAT_VALUE, INT_REG, INT_VALUE, NUM_SPECIALS, NUMBER_TYPE, OF, PF, SF, SPECIAL_REG, ST0, ST1, ZF |
Fields inherited from interface org.jikesrvm.ia32.RegisterConstants |
---|
ALL_FPRS, ALL_GPRS, EAX, EBP, EBX, ECX, EDI, EDX, ESI, ESP, FP0, FP1, FP2, FP3, FP4, FP5, FP6, FP7, INSTRUCTION_WIDTH, LG_INSTRUCTION_WIDTH, MM0, MM1, MM10, MM11, MM12, MM13, MM14, MM15, MM2, MM3, MM4, MM5, MM6, MM7, MM8, MM9, NATIVE_NONVOLATILE_FPRS, NATIVE_NONVOLATILE_GPRS, NATIVE_PARAMETER_FPRS, NATIVE_PARAMETER_GPRS, NATIVE_VOLATILE_FPRS, NATIVE_VOLATILE_GPRS, NONVOLATILE_FPRS, NONVOLATILE_GPRS, NUM_FPRS, NUM_GPRS, NUM_NONVOLATILE_FPRS, NUM_NONVOLATILE_GPRS, NUM_PARAMETER_FPRS, NUM_PARAMETER_GPRS, NUM_RETURN_FPRS, NUM_RETURN_GPRS, NUM_VOLATILE_FPRS, NUM_VOLATILE_GPRS, PARAMETER_FPRS, PARAMETER_GPRS, R0, R1, R10, R11, R12, R13, R14, R15, R2, R3, R4, R5, R6, R7, R8, R9, RETURN_FPRS, RETURN_GPRS, STACK_POINTER, THREAD_REGISTER, VOLATILE_FPRS, VOLATILE_GPRS, XMM0, XMM1, XMM10, XMM11, XMM12, XMM13, XMM14, XMM15, XMM2, XMM3, XMM4, XMM5, XMM6, XMM7, XMM8, XMM9 |
Fields inherited from interface org.jikesrvm.Constants |
---|
NOT_REACHED, REFLECTION_FPRS_BITS, REFLECTION_FPRS_MASK, REFLECTION_GPRS_BITS, REFLECTION_GPRS_MASK |
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.objectmodel.TIBLayoutConstants |
---|
IMT_METHOD_SLOTS, NEEDS_DYNAMIC_LINK, TIB_ARRAY_ELEMENT_TIB_INDEX, TIB_DOES_IMPLEMENT_INDEX, TIB_FIRST_SPECIALIZED_METHOD_INDEX, TIB_FIRST_VIRTUAL_METHOD_INDEX, TIB_INTERFACE_DISPATCH_TABLE_INDEX, TIB_SUPERCLASS_IDS_INDEX, TIB_TYPE_INDEX |
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 |
Constructor Summary | |
---|---|
OptGCMapIterator(WordArray registerLocations)
|
Method Summary | |
---|---|
Address |
getFirstSpillLoc()
Get address of the first spill location for the given frame ptr |
Address |
getLastSpillLoc()
Get address of the last spill location for the given frame ptr |
Address |
getStackLocation(Address framePtr,
int offset)
Determine the stack location given the frame ptr and spill offset. |
protected void |
updateLocateRegisters()
If any non-volatile GPRs were saved by the method being processed then update the registerLocations array with the locations where the registers were saved. |
Methods inherited from class org.jikesrvm.compilers.opt.runtimesupport.OptGenericGCMapIterator |
---|
cleanupPointers, currentRegisterIsValid, getCurrentRegister, getNextReferenceAddress, getNextReturnAddressAddress, getType, reset, setupIterator, updateCurrentRegister |
Methods inherited from class org.jikesrvm.mm.mminterface.GCMapIterator |
---|
newStackWalk |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private static final boolean DEBUG
static final int VOL_SIZE
static final int SAVE_VOL_SIZE
Constructor Detail |
---|
public OptGCMapIterator(WordArray registerLocations)
Method Detail |
---|
protected void updateLocateRegisters()
updateLocateRegisters
in class OptGenericGCMapIterator
public Address getStackLocation(Address framePtr, int offset)
OptGenericGCMapIterator
getStackLocation
in class OptGenericGCMapIterator
framePtr
- the frame pointeroffset
- the offset
public Address getFirstSpillLoc()
getFirstSpillLoc
in class OptGenericGCMapIterator
public Address getLastSpillLoc()
getLastSpillLoc
in class OptGenericGCMapIterator
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |