|
|||||||||||
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.common.HardwareTrapGCMapIterator
public final class HardwareTrapGCMapIterator
Iterator for stack frames inserted by hardware trap handler. Such frames are purely used as markers. They contain no object references or JSR return addresses.
Field Summary |
---|
Fields inherited from class org.jikesrvm.mm.mminterface.GCMapIterator |
---|
framePtr, registerLocations, thread |
Constructor Summary | |
---|---|
HardwareTrapGCMapIterator(WordArray registerLocations)
|
Method Summary | |
---|---|
void |
cleanupPointers()
Iteration is complete, release any internal data structures including locks acquired during setupIterator for jsr maps. |
Address |
getNextReferenceAddress()
Get address of next object reference held by current stackframe. |
Address |
getNextReturnAddressAddress()
Get address of next JSR return address held by current stackframe. |
int |
getType()
Get the type of this iterator (BASELINE, OPT, etc.). |
void |
reset()
Prepare to re-iterate on same stackframe, and to switch between "reference" iteration and "JSR return address" iteration. |
void |
setupIterator(CompiledMethod compiledMethod,
Offset instructionOffset,
Address framePtr)
Prepare to iterate over object references and JSR return addresses held by a stackframe. |
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 |
Constructor Detail |
---|
public HardwareTrapGCMapIterator(WordArray registerLocations)
Method Detail |
---|
public void setupIterator(CompiledMethod compiledMethod, Offset instructionOffset, Address framePtr)
GCMapIterator
setupIterator
in class GCMapIterator
compiledMethod
- method running in the stackframeinstructionOffset
- offset of current instruction within that method's codeframePtr
- address of stackframe to be visitedpublic Address getNextReferenceAddress()
GCMapIterator
Side effect: registerLocations[] updated at end of iteration. TODO: registerLocations[] update should be done via separately called method instead of as side effect.
getNextReferenceAddress
in class GCMapIterator
public Address getNextReturnAddressAddress()
GCMapIterator
getNextReturnAddressAddress
in class GCMapIterator
public void reset()
GCMapIterator
reset
in class GCMapIterator
public void cleanupPointers()
GCMapIterator
cleanupPointers
in class GCMapIterator
public int getType()
GCMapIterator
getType
in class GCMapIterator
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |