public class GETFIELD extends InstanceFieldInstruction
lastThisclassName, fi, fname, isReferenceField, lastValue, size, varIdattr, insnIndex, mi, position| Constructor and Description |
|---|
GETFIELD(String fieldName,
String classType,
String fieldDescriptor) |
| Modifier and Type | Method and Description |
|---|---|
void |
accept(InstructionVisitor 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.
|
boolean |
isRead() |
ElementInfo |
peekElementInfo(ThreadInfo ti)
this one can be used from a choiceGeneratorSet() or executeInstruction() context, since
it peeks 'this' from the operand stack (enter didn't pop the value yet)
it' less efficient than getLastElementInfo() from a instructionExecuted context
|
protected void |
popOperands1(StackFrame frame) |
protected void |
popOperands2(StackFrame frame) |
getFieldDescriptor, getFieldInfo, getLastElementInfo, getLastThis, isNewPorFieldBoundary, isSchedulingRelevant, isSkippedFinalFieldcreateAndSetSharedFieldAccessCG, createAndSetSharedObjectExposureCG, getClassName, getFieldName, getFieldSize, getId, getLastValue, getVariableId, init, isLockProtected, isMonitorEnterPrologue, isReferenceField, put, put1, put2, setFieldaddAttr, attrIterator, attrIterator, cleanupTransients, getAttr, getAttr, getFileLocation, getFilePos, getInstructionIndex, getLineNumber, getMethodInfo, getMnemonic, getNext, getNext, getNextAttr, getPosition, getPrev, getSourceLine, getSourceLocation, getSourceOrLocation, hasAttr, hasAttr, init, isBackJump, isCompleted, isExtendedInstruction, isFirstInstruction, isSchedulingRelevant, removeAttr, replaceAttr, requiresClinitExecution, setAttr, setContext, setLocation, setMethodInfo, toString, typeSafeCloneprotected void popOperands1(StackFrame frame)
popOperands1 in class FieldInstructionprotected void popOperands2(StackFrame frame)
popOperands2 in class FieldInstructionpublic Instruction execute(ThreadInfo ti)
Instructionexecute in class Instructionpublic ElementInfo peekElementInfo(ThreadInfo ti)
InstanceFieldInstructionpeekElementInfo in class InstanceFieldInstructionpublic int getLength()
InstructiongetLength in class Instructionpublic int getByteCode()
getByteCode in class Instructionpublic boolean isRead()
isRead in class FieldInstructionpublic void accept(InstructionVisitor insVisitor)
accept in interface InstructionVisitorAcceptoraccept in class InstanceFieldInstruction