src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop/src/org/graalvm/compiler/loop/LoopEx.java
changeset 58877 aec7bf35d6f5
parent 58299 6df94ce3ab2f
equal deleted inserted replaced
58876:1a8d65e71a66 58877:aec7bf35d6f5
    79     private LoopFragmentWhole whole;
    79     private LoopFragmentWhole whole;
    80     private CountedLoopInfo counted;
    80     private CountedLoopInfo counted;
    81     private LoopsData data;
    81     private LoopsData data;
    82     private EconomicMap<Node, InductionVariable> ivs;
    82     private EconomicMap<Node, InductionVariable> ivs;
    83     private boolean countedLoopChecked;
    83     private boolean countedLoopChecked;
       
    84     private int size = -1;
    84 
    85 
    85     LoopEx(Loop<Block> loop, LoopsData data) {
    86     LoopEx(Loop<Block> loop, LoopsData data) {
    86         this.loop = loop;
    87         this.loop = loop;
    87         this.data = data;
    88         this.data = data;
    88     }
    89     }
   154         }
   155         }
   155         return data.loop(loop.getParent());
   156         return data.loop(loop.getParent());
   156     }
   157     }
   157 
   158 
   158     public int size() {
   159     public int size() {
   159         return whole().nodes().count();
   160         if (size == -1) {
       
   161             size = whole().nodes().count();
       
   162         }
       
   163         return size;
   160     }
   164     }
   161 
   165 
   162     @Override
   166     @Override
   163     public String toString() {
   167     public String toString() {
   164         return (countedLoopChecked && isCounted() ? "CountedLoop [" + counted() + "] " : "Loop ") + "(depth=" + loop().getDepth() + ") " + loopBegin();
   168         return (countedLoopChecked && isCounted() ? "CountedLoop [" + counted() + "] " : "Loop ") + "(depth=" + loop().getDepth() + ") " + loopBegin();