public abstract class StaticFieldInstruction extends FieldInstruction
className, fi, fname, isReferenceField, lastValue, size, varId
attr, insnIndex, mi, position
Modifier | Constructor and Description |
---|---|
protected |
StaticFieldInstruction() |
protected |
StaticFieldInstruction(String fieldName,
String clsDescriptor,
String fieldDescriptor) |
Modifier and Type | Method and Description |
---|---|
void |
accept(InstructionVisitor insVisitor) |
ClassInfo |
getClassInfo() |
FieldInfo |
getFieldInfo() |
ClassInfo |
getLastClassInfo() |
String |
getLastClassName() |
StaticElementInfo |
getLastElementInfo() |
protected void |
initialize()
on-demand initialize the ClassInfo and FieldInfo fields.
|
protected boolean |
isNewPorFieldBoundary(ThreadInfo ti) |
protected boolean |
isSchedulingRelevant(ThreadInfo ti) |
protected boolean |
isSkippedFinalField(ElementInfo ei) |
ElementInfo |
peekElementInfo(ThreadInfo ti)
that's invariant, as opposed to InstanceFieldInstruction, so it's
not really a peek
|
Instruction |
typeSafeClone(MethodInfo mi)
this is overridden by any Instruction that use a cache for class or
method to provide a type safe cloning
|
createAndSetSharedFieldAccessCG, createAndSetSharedObjectExposureCG, getClassName, getFieldName, getFieldSize, getId, getLastValue, getVariableId, init, isLockProtected, isMonitorEnterPrologue, isRead, isReferenceField, popOperands1, popOperands2, put, put1, put2, setField
addAttr, attrIterator, attrIterator, cleanupTransients, execute, getAttr, getAttr, getByteCode, getFileLocation, getFilePos, getInstructionIndex, getLength, 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
protected void initialize()
public ClassInfo getClassInfo()
public FieldInfo getFieldInfo()
getFieldInfo
in class FieldInstruction
public ElementInfo peekElementInfo(ThreadInfo ti)
peekElementInfo
in class FieldInstruction
public StaticElementInfo getLastElementInfo()
getLastElementInfo
in class FieldInstruction
public ClassInfo getLastClassInfo()
public String getLastClassName()
protected boolean isNewPorFieldBoundary(ThreadInfo ti)
protected boolean isSkippedFinalField(ElementInfo ei)
isSkippedFinalField
in class FieldInstruction
protected boolean isSchedulingRelevant(ThreadInfo ti)
public void accept(InstructionVisitor insVisitor)
accept
in interface InstructionVisitorAcceptor
accept
in class FieldInstruction
public Instruction typeSafeClone(MethodInfo mi)
Instruction
typeSafeClone
in class Instruction