public class INVOKESTATIC extends JVMInvokeInstruction
argSize, arguments, cname, invokedMethod, lastObj, mname, signatureattr, insnIndex, mi, position| Modifier | Constructor and Description |
|---|---|
protected |
INVOKESTATIC(java.lang.String clsDescriptor,
java.lang.String methodName,
java.lang.String signature) |
| 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 |
getArgSize()
this is slot size, i.e.
|
int |
getByteCode() |
protected ClassInfo |
getClassInfo() |
int |
getClassObjectRef() |
java.lang.Object |
getFieldValue(java.lang.String id,
ThreadInfo ti) |
ClassInfo |
getInvokedClassInfo() |
java.lang.String |
getInvokedClassName() |
MethodInfo |
getInvokedMethod() |
MethodInfo |
getInvokedMethod(ThreadInfo ti) |
StaticElementInfo |
getStaticElementInfo() |
java.lang.String |
toPostExecString()
this can contain additional info that was gathered/cached during execution
|
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
|
getArgumentAttrs, getArgumentValue, getArgumentValues, getFieldOrArgumentValue, getInvokedMethodClassName, getInvokedMethodName, getInvokedMethodSignature, getLastObjRef, getLength, getReturnType, getReturnTypeName, hasArgumentAttr, hasArgumentObjectAttr, isCompleted, isReferenceReturnType, setInvokedMethod, setupCalleereschedulesLockAcquisitionaddAttr, asInstruction, attrIterator, attrIterator, cleanupTransients, getAttr, getAttr, getFileLocation, getFilePos, getInstructionIndex, getLineNumber, getMethodInfo, getMnemonic, getNext, getNext, getNextAttr, getPosition, getPrev, getSourceLine, getSourceLocation, getSourceOrLocation, hasAttr, hasAttr, init, isBackJump, isExtendedInstruction, isFirstInstruction, isMonitorEnterPrologue, isSchedulingRelevant, removeAttr, replaceAttr, requiresClinitExecution, setAttr, setContext, setLocation, setMethodInfoclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitasInstruction, getFileLocation, getFilePos, getInstructionIndex, getLineNumber, getMethodInfo, getMnemonic, getNext, getNext, getPosition, getPrev, getSourceLine, getSourceLocation, isBackJump, isExtendedInstruction, isFirstInstructionaddAttr, attrIterator, attrIterator, getAttr, getAttr, getNextAttr, hasAttr, hasAttr, removeAttr, replaceAttr, setAttrprotected INVOKESTATIC(java.lang.String clsDescriptor,
java.lang.String methodName,
java.lang.String signature)
protected ClassInfo getClassInfo()
public int getByteCode()
public java.lang.String toPostExecString()
InstructiontoPostExecString in interface InstructionInterfacetoPostExecString in class Instructionpublic StaticElementInfo getStaticElementInfo()
public int getClassObjectRef()
public Instruction execute(ThreadInfo ti)
Instructionexecute in interface InstructionInterfaceexecute in class Instructionpublic MethodInfo getInvokedMethod()
getInvokedMethod in class JVMInvokeInstructionpublic MethodInfo getInvokedMethod(ThreadInfo ti)
getInvokedMethod in class JVMInvokeInstructionpublic ClassInfo getInvokedClassInfo()
public java.lang.String getInvokedClassName()
public int getArgSize()
JVMInvokeInstructiongetArgSize in class JVMInvokeInstructionpublic java.lang.String toString()
toString in class Instructionpublic java.lang.Object getFieldValue(java.lang.String id,
ThreadInfo ti)
getFieldValue in class JVMInvokeInstructionpublic void accept(JVMInstructionVisitor insVisitor)
accept in interface JVMInstructionaccept in class JVMInvokeInstructionpublic Instruction typeSafeClone(MethodInfo mi)
InstructiontypeSafeClone in class JVMInvokeInstruction