public class ValueNumberFrame extends Frame<ValueNumber> implements ValueNumberAnalysisFeatures
ValueNumber
,
ValueNumberAnalysis
Modifier and Type | Field and Description |
---|---|
boolean |
phiNodeForLoads |
REDUNDANT_LOAD_ELIMINATION, RLE_DEBUG
Constructor and Description |
---|
ValueNumberFrame(int numLocals) |
Modifier and Type | Method and Description |
---|---|
void |
addAvailableLoad(AvailableLoad availableLoad,
ValueNumber[] value)
Add an available load.
|
java.lang.String |
availableLoadMapAsString() |
void |
copyFrom(Frame<ValueNumber> other)
Make this Frame exactly the same as the one given as a parameter.
|
boolean |
fromMatchingFields(ValueNumber v1,
ValueNumber v2) |
boolean |
fromMatchingLoads(ValueNumber v1,
ValueNumber v2) |
boolean |
fuzzyMatch(ValueNumber v1,
ValueNumber v2) |
ValueNumber[] |
getAvailableLoad(AvailableLoad availableLoad)
Look for an available load.
|
AvailableLoad |
getLoad(ValueNumber v) |
boolean |
hasAvailableLoads() |
boolean |
haveMatchingFlags(ValueNumber v1,
ValueNumber v2) |
void |
killAllLoads()
Kill all loads.
|
void |
killAllLoads(boolean primitiveOnly) |
void |
killAllLoadsExceptFor(ValueNumber v) |
void |
killAllLoadsOf(ValueNumber v)
Kill all loads.
|
void |
killLoadsOf(java.util.Set<XField> fieldsToKill) |
void |
killLoadsOfField(XField field)
Kill all loads of given field.
|
void |
killLoadsWithSimilarName(java.lang.String className,
java.lang.String methodName) |
boolean |
sameAs(Frame<ValueNumber> other)
Return true if this stack frame is the same as the one given as a
parameter.
|
java.lang.String |
toString()
Convert to string.
|
java.util.Collection<ValueNumber> |
valueNumbersForLoads() |
boolean |
veryFuzzyMatch(ValueNumber v1,
ValueNumber v2) |
allSlots, clearStack, contains, getArgument, getArgument, getArgumentSet, getArgumentSlot, getInstance, getInstanceSlot, getInstanceStackLocation, getLastUpdateTimestamp, getNumArguments, getNumArgumentsIncludingObjectInstance, getNumLocals, getNumSlots, getOperand, getStackDepth, getStackLocation, getStackValue, getTopStackWords, getTopValue, getValue, isBottom, isTop, isValid, popValue, pushValue, setBottom, setLastUpdateTimestamp, setTop, setValid, setValue, valueToString
public java.lang.String availableLoadMapAsString()
@CheckForNull public AvailableLoad getLoad(ValueNumber v)
public ValueNumber[] getAvailableLoad(AvailableLoad availableLoad)
availableLoad
- the AvailableLoad (reference and field)public void addAvailableLoad(AvailableLoad availableLoad, @Nonnull ValueNumber[] value)
availableLoad
- the AvailableLoad (reference and field)value
- the value(s) loadedpublic void killLoadsOfField(XField field)
field
- the fieldpublic void killAllLoads()
public void killAllLoads(boolean primitiveOnly)
public void killAllLoadsExceptFor(@CheckForNull ValueNumber v)
public void killAllLoadsOf(@CheckForNull ValueNumber v)
public void killLoadsOf(java.util.Set<XField> fieldsToKill)
public void killLoadsWithSimilarName(java.lang.String className, java.lang.String methodName)
public void copyFrom(Frame<ValueNumber> other)
Frame
copyFrom
in class Frame<ValueNumber>
other
- the Frame to make this object the same aspublic java.lang.String toString()
Frame
toString
in class Frame<ValueNumber>
public boolean fuzzyMatch(ValueNumber v1, ValueNumber v2)
public boolean veryFuzzyMatch(ValueNumber v1, ValueNumber v2)
public boolean fromMatchingLoads(ValueNumber v1, ValueNumber v2)
public boolean fromMatchingFields(ValueNumber v1, ValueNumber v2)
public boolean haveMatchingFlags(ValueNumber v1, ValueNumber v2)
public java.util.Collection<ValueNumber> valueNumbersForLoads()
public boolean sameAs(Frame<ValueNumber> other)
Frame
sameAs
in class Frame<ValueNumber>
other
- the other Framepublic boolean hasAvailableLoads()
FindBugs™ is licenced under the LGPL. Copyright © 2006 University of Maryland.