edu.umd.cs.findbugs.ba.vna
Class ValueNumberFrame

java.lang.Object
  extended by edu.umd.cs.findbugs.ba.Frame<ValueNumber>
      extended by edu.umd.cs.findbugs.ba.vna.ValueNumberFrame
All Implemented Interfaces:
ValueNumberAnalysisFeatures

public class ValueNumberFrame
extends Frame<ValueNumber>
implements ValueNumberAnalysisFeatures

A dataflow value representing a Java stack frame with value number information.

Author:
David Hovemeyer
See Also:
ValueNumber, ValueNumberAnalysis

Field Summary
 
Fields inherited from interface edu.umd.cs.findbugs.ba.vna.ValueNumberAnalysisFeatures
REDUNDANT_LOAD_ELIMINATION, RLE_DEBUG
 
Constructor Summary
ValueNumberFrame(int numLocals, ValueNumberFactory factory)
           
 
Method Summary
 void addAvailableLoad(AvailableLoad availableLoad, ValueNumber[] value)
          Add an available load.
 void copyFrom(Frame<ValueNumber> other)
          Make this Frame exactly the same as the one given as a parameter.
 ValueNumber[] getAvailableLoad(AvailableLoad availableLoad)
          Look for an available load.
 void killLoadsOfField(XField field)
          Kill all loads of given field.
 java.lang.String toString()
          Convert to string.
 
Methods inherited from class edu.umd.cs.findbugs.ba.Frame
clearStack, getArgument, getArgumentSet, getInstance, getInstanceSlot, getInstanceStackLocation, getNumArguments, getNumArgumentsIncludingObjectInstance, getNumLocals, getNumSlots, getOperand, getStackDepth, getStackValue, getTopStackWords, getTopValue, getValue, isBottom, isTop, isValid, popValue, pushValue, sameAs, setBottom, setTop, setValid, setValue, valueToString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ValueNumberFrame

public ValueNumberFrame(int numLocals,
                        ValueNumberFactory factory)
Method Detail

getAvailableLoad

public ValueNumber[] getAvailableLoad(AvailableLoad availableLoad)
Look for an available load.

Parameters:
availableLoad - the AvailableLoad (reference and field)
Returns:
the value(s) available, or null if no matching entry is found

addAvailableLoad

public void addAvailableLoad(AvailableLoad availableLoad,
                             ValueNumber[] value)
Add an available load.

Parameters:
availableLoad - the AvailableLoad (reference and field)
value - the value(s) loaded

killLoadsOfField

public void killLoadsOfField(XField field)
Kill all loads of given field.

Parameters:
field - the field

copyFrom

public void copyFrom(Frame<ValueNumber> other)
Description copied from class: Frame
Make this Frame exactly the same as the one given as a parameter.

Overrides:
copyFrom in class Frame<ValueNumber>
Parameters:
other - the Frame to make this object the same as

toString

public java.lang.String toString()
Description copied from class: Frame
Convert to string.

Overrides:
toString in class Frame<ValueNumber>