Package edu.umd.cs.findbugs.ba.vna
Class ValueNumberCache
- java.lang.Object
-
- edu.umd.cs.findbugs.ba.vna.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
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
ValueNumberCache.Entry
An entry in the cache.
-
Constructor Summary
Constructors Constructor Description ValueNumberCache()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addOutputValues(ValueNumberCache.Entry entry, ValueNumber[] outputValueList)
Add output values for given entry.ValueNumber[]
lookupOutputValues(ValueNumberCache.Entry entry)
Look up cached output values for given entry.
-
-
-
Method Detail
-
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
-
-