public class GOTO extends Instruction implements JVMInstruction
Modifier and Type | Field and Description |
---|---|
protected int |
targetPosition |
attr, insnIndex, mi, position
Constructor and Description |
---|
GOTO(int targetPosition) |
Modifier and Type | Method and Description |
---|---|
void |
accept(JVMInstructionVisitor 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.
|
int |
getByteCode() |
int |
getLength()
return the length in bytes of this instruction.
|
Instruction |
getTarget() |
boolean |
isBackJump()
answer if this is a potential loop closing jump
|
java.lang.String |
toString() |
Instruction |
typeSafeClone(MethodInfo mi)
this is overridden by any Instruction that use a cache for class or
method to provide a type safe cloning
|
addAttr, asInstruction, attrIterator, attrIterator, cleanupTransients, getAttr, getAttr, getFileLocation, getFilePos, getInstructionIndex, getLineNumber, getMethodInfo, getMnemonic, getNext, getNext, getNextAttr, getPosition, getPrev, getSourceLine, getSourceLocation, getSourceOrLocation, hasAttr, hasAttr, init, isCompleted, isExtendedInstruction, isFirstInstruction, isMonitorEnterPrologue, isSchedulingRelevant, removeAttr, replaceAttr, requiresClinitExecution, setAttr, setContext, setLocation, setMethodInfo, toPostExecString
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
asInstruction, getFileLocation, getFilePos, getInstructionIndex, getLineNumber, getMethodInfo, getMnemonic, getNext, getNext, getPosition, getPrev, getSourceLine, getSourceLocation, isCompleted, isExtendedInstruction, isFirstInstruction, toPostExecString
addAttr, attrIterator, attrIterator, getAttr, getAttr, getNextAttr, hasAttr, hasAttr, removeAttr, replaceAttr, setAttr
public Instruction execute(ThreadInfo ti)
Instruction
execute
in interface InstructionInterface
execute
in class Instruction
public boolean isBackJump()
Instruction
isBackJump
in interface InstructionInterface
isBackJump
in class Instruction
public Instruction getTarget()
public int getLength()
Instruction
getLength
in interface InstructionInterface
getLength
in class Instruction
public int getByteCode()
getByteCode
in interface InstructionInterface
public java.lang.String toString()
toString
in class Instruction
public void accept(JVMInstructionVisitor insVisitor)
accept
in interface JVMInstruction
public Instruction typeSafeClone(MethodInfo mi)
Instruction
typeSafeClone
in class Instruction