Class 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
    • Constructor Detail

      • ValueNumberCache

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