public class RETURN extends ReturnInstruction
returnFrame
attr, insnIndex, mi, position
Constructor and Description |
---|
RETURN() |
Modifier and Type | Method and Description |
---|---|
void |
accept(InstructionVisitor insVisitor) |
Instruction |
execute(ThreadInfo ti)
this is the real workhorse
returns next instruction to enter in this thread
<2do> it's unfortunate we roll every side effect into this method, because
it diminishes the value of the 'executeInstruction' notification: all
insns that require some sort of late binding (InvokeVirtual, GetField, ..)
are not yet fully analyzable (e.g.
|
protected void |
getAndSaveReturnValue(StackFrame frame) |
int |
getByteCode() |
Object |
getReturnAttr(ThreadInfo ti)
this returns all of them - use either if you know there will be only
one attribute at a time, or check/process result with ObjectList
obviously, this only makes sense from an instructionExecuted(), since
the value is pushed during the enter().
|
protected Object |
getReturnedOperandAttr(StackFrame frame) |
int |
getReturnTypeSize() |
Object |
getReturnValue(ThreadInfo ti) |
protected void |
pushReturnValue(StackFrame frame) |
String |
toString() |
addReturnAttr, cleanupTransients, getNextReturnAttr, getReturnAttr, getReturnFrame, hasReturnAttr, hasReturnAttr, returnAttrIterator, returnAttrIterator, setReturnAttr, setReturnFrame
addAttr, attrIterator, attrIterator, getAttr, getAttr, getFileLocation, getFilePos, getInstructionIndex, getLength, getLineNumber, getMethodInfo, getMnemonic, getNext, getNext, getNextAttr, getPosition, getPrev, getSourceLine, getSourceLocation, getSourceOrLocation, hasAttr, hasAttr, init, isBackJump, isCompleted, isExtendedInstruction, isFirstInstruction, isSchedulingRelevant, removeAttr, replaceAttr, requiresClinitExecution, setAttr, setContext, setLocation, setMethodInfo, typeSafeClone
public Instruction execute(ThreadInfo ti)
Instruction
execute
in class ReturnInstruction
public int getReturnTypeSize()
getReturnTypeSize
in class ReturnInstruction
protected Object getReturnedOperandAttr(StackFrame frame)
getReturnedOperandAttr
in class ReturnInstruction
public Object getReturnAttr(ThreadInfo ti)
ReturnInstruction
getReturnAttr
in class ReturnInstruction
protected void getAndSaveReturnValue(StackFrame frame)
getAndSaveReturnValue
in class ReturnInstruction
protected void pushReturnValue(StackFrame frame)
pushReturnValue
in class ReturnInstruction
public Object getReturnValue(ThreadInfo ti)
getReturnValue
in class ReturnInstruction
public String toString()
toString
in class Instruction
public int getByteCode()
getByteCode
in class Instruction
public void accept(InstructionVisitor insVisitor)
accept
in interface InstructionVisitorAcceptor
accept
in class ReturnInstruction