Class ValueNumberFrame

    • Field Detail

      • phiNodeForLoads

        public boolean phiNodeForLoads
    • Constructor Detail

      • ValueNumberFrame

        public ValueNumberFrame​(int numLocals)
    • Method Detail

      • availableLoadMapAsString

        public java.lang.String availableLoadMapAsString()
      • 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,
                                     @NonNull
                                     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
      • killAllLoads

        public void killAllLoads()
        Kill all loads. This conservatively handles method calls where we don't really know what fields might be assigned.
      • killAllLoadsOf

        public void killAllLoadsOf​(@CheckForNull
                                   ValueNumber v)
        Kill all loads. This conservatively handles method calls where we don't really know what fields might be assigned.
      • killLoadsOf

        public void killLoadsOf​(java.util.Set<XField> fieldsToKill)
      • killLoadsWithSimilarName

        public void killLoadsWithSimilarName​(java.lang.String className,
                                             java.lang.String methodName)
      • 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>
      • haveMatchingFlags

        public boolean haveMatchingFlags​(ValueNumber v1,
                                         ValueNumber v2)
        Parameters:
        v1 -
        v2 -
        Returns:
        true if v1 and v2 have a flag in common
      • valueNumbersForLoads

        public java.util.Collection<ValueNumber> valueNumbersForLoads()