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, toPostExecStringclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitasInstruction, getFileLocation, getFilePos, getInstructionIndex, getLineNumber, getMethodInfo, getMnemonic, getNext, getNext, getPosition, getPrev, getSourceLine, getSourceLocation, isCompleted, isExtendedInstruction, isFirstInstruction, toPostExecStringaddAttr, attrIterator, attrIterator, getAttr, getAttr, getNextAttr, hasAttr, hasAttr, removeAttr, replaceAttr, setAttrpublic Instruction execute(ThreadInfo ti)
Instructionexecute in interface InstructionInterfaceexecute in class Instructionpublic boolean isBackJump()
InstructionisBackJump in interface InstructionInterfaceisBackJump in class Instructionpublic Instruction getTarget()
public int getLength()
InstructiongetLength in interface InstructionInterfacegetLength in class Instructionpublic int getByteCode()
getByteCode in interface InstructionInterfacepublic java.lang.String toString()
toString in class Instructionpublic void accept(JVMInstructionVisitor insVisitor)
accept in interface JVMInstructionpublic Instruction typeSafeClone(MethodInfo mi)
InstructiontypeSafeClone in class Instruction