public class FINISHCLINIT extends Instruction
| Modifier and Type | Field and Description |
|---|---|
protected ClassInfo |
ciInit |
static int |
OPCODE |
attr, insnIndex, mi, position| Constructor and Description |
|---|
FINISHCLINIT(ClassInfo ci) |
| Modifier and Type | Method and Description |
|---|---|
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() |
boolean |
isExtendedInstruction()
is this one of our own, artificial insns?
|
addAttr, asInstruction, attrIterator, attrIterator, cleanupTransients, getAttr, getAttr, getFileLocation, getFilePos, getInstructionIndex, getLength, getLineNumber, getMethodInfo, getMnemonic, getNext, getNext, getNextAttr, getPosition, getPrev, getSourceLine, getSourceLocation, getSourceOrLocation, hasAttr, hasAttr, init, isBackJump, isCompleted, isFirstInstruction, isMonitorEnterPrologue, isSchedulingRelevant, removeAttr, replaceAttr, requiresClinitExecution, setAttr, setContext, setLocation, setMethodInfo, toPostExecString, toString, typeSafeCloneprotected ClassInfo ciInit
public static final int OPCODE
public FINISHCLINIT(ClassInfo ci)
public Instruction execute(ThreadInfo ti)
Instructionexecute in interface InstructionInterfaceexecute in class Instructionpublic boolean isExtendedInstruction()
InstructionisExtendedInstruction in interface InstructionInterfaceisExtendedInstruction in class Instructionpublic int getByteCode()