edu.umd.cs.findbugs.ba
Class ValueNumberCache
java.lang.Object
edu.umd.cs.findbugs.ba.ValueNumberCache
public class ValueNumberCache
- extends java.lang.Object
A cache mapping instructions and input values to the output values they
produce. We must always produce the same output given identical
input, or else value number analysis will not terminate.
- Author:
- David Hovemeyer
- See Also:
ValueNumberAnalysis
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
DEBUG
private static final boolean DEBUG
entryToOutputMap
private java.util.HashMap<ValueNumberCache.Entry,ValueNumber[]> entryToOutputMap
- Map of entries to output values.
ValueNumberCache
public ValueNumberCache()
lookupOutputValues
public ValueNumber[] lookupOutputValues(ValueNumberCache.Entry entry)
- Look up cached output values for given entry.
- Parameters:
entry
- the entry
- Returns:
- the list of output values, or null if there is no matching entry
in the cache
addOutputValues
public void addOutputValues(ValueNumberCache.Entry entry,
ValueNumber[] outputValueList)
- Add output values for given entry.
Assumes that lookupOutputValues() has determined that the entry
is not in the cache.
- Parameters:
entry
- the entryoutputValueList
- the list of output values produced
by the entry's instruction and input values