Interface ValueNumberAnalysisFeatures

All Known Implementing Classes:
ValueNumberFrame, ValueNumberFrameModelingVisitor

public interface ValueNumberAnalysisFeatures
Global flags controlling ValueNumberAnalysis.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    static final boolean
    When set, perform redundant load elimination and forward substitution.
    static final boolean
    Debug redundant load elimination.
  • Field Details

    • REDUNDANT_LOAD_ELIMINATION

      static final boolean REDUNDANT_LOAD_ELIMINATION

      When set, perform redundant load elimination and forward substitution. Note that we do not do this in a correctness-preserving way! For example, we don't kill loads when methods are called, even though those methods could change heap values. The intent here is simply to try to handle situations where a field is read multiple times, where the intent of the programmer is clearly that the loaded values will be the same in each case.

      Eventually, we might do interprocedural analysis that would allow accurate modeling of which fields a called method could modify, which would allow a more correct implementation.

    • RLE_DEBUG

      static final boolean RLE_DEBUG
      Debug redundant load elimination.