public class EXECUTENATIVE extends Instruction implements JVMInstruction
Modifier and Type | Field and Description |
---|---|
protected NativeMethodInfo |
executedMethod |
static int |
OPCODE |
attr, insnIndex, mi, position
Constructor and Description |
---|
EXECUTENATIVE() |
EXECUTENATIVE(NativeMethodInfo mi) |
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() |
MethodInfo |
getExecutedMethod() |
java.lang.String |
getExecutedMethodName() |
boolean |
isExtendedInstruction()
is this one of our own, artificial insns?
|
void |
setExecutedMethod(NativeMethodInfo mi) |
java.lang.String |
toString() |
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, typeSafeClone
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
asInstruction, getFileLocation, getFilePos, getInstructionIndex, getLength, getLineNumber, getMethodInfo, getMnemonic, getNext, getNext, getPosition, getPrev, getSourceLine, getSourceLocation, isBackJump, isCompleted, isFirstInstruction, toPostExecString
addAttr, attrIterator, attrIterator, getAttr, getAttr, getNextAttr, hasAttr, hasAttr, removeAttr, replaceAttr, setAttr
protected NativeMethodInfo executedMethod
public static final int OPCODE
public EXECUTENATIVE()
public EXECUTENATIVE(NativeMethodInfo mi)
public boolean isExtendedInstruction()
Instruction
isExtendedInstruction
in interface InstructionInterface
isExtendedInstruction
in class Instruction
public int getByteCode()
getByteCode
in interface InstructionInterface
public void setExecutedMethod(NativeMethodInfo mi)
public void accept(JVMInstructionVisitor insVisitor)
accept
in interface JVMInstruction
public Instruction execute(ThreadInfo ti)
Instruction
execute
in interface InstructionInterface
execute
in class Instruction
public MethodInfo getExecutedMethod()
public java.lang.String getExecutedMethodName()
public java.lang.String toString()
toString
in class Instruction