Class ValueNumberCache

java.lang.Object
edu.umd.cs.findbugs.ba.vna.ValueNumberCache

public class ValueNumberCache extends 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:
  • Constructor Details

    • ValueNumberCache

      public ValueNumberCache()
  • Method Details

    • 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 entry
      outputValueList - the list of output values produced by the entry's instruction and input values