--- old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/EffectsClosure.java 2019-03-12 08:10:24.267888656 +0100 +++ new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.virtual/src/org/graalvm/compiler/virtual/phases/ea/EffectsClosure.java 2019-03-12 08:10:23.911886351 +0100 @@ -295,7 +295,7 @@ protected final List processLoop(Loop loop, BlockT initialState) { if (initialState.isDead()) { ArrayList states = new ArrayList<>(); - for (int i = 0; i < loop.getExits().size(); i++) { + for (int i = 0; i < loop.getLoopExits().size(); i++) { states.add(initialState); } return states; @@ -347,7 +347,7 @@ blockEffects.get(loop.getHeader()).insertAll(mergeProcessor.mergeEffects, 0); loopMergeEffects.put(loop, mergeProcessor.afterMergeEffects); - assert info.exitStates.size() == loop.getExits().size(); + assert info.exitStates.size() == loop.getLoopExits().size(); loopEntryStates.put((LoopBeginNode) loop.getHeader().getBeginNode(), loopEntryState); assert assertExitStatesNonEmpty(loop, info); @@ -412,8 +412,8 @@ } private boolean assertExitStatesNonEmpty(Loop loop, LoopInfo info) { - for (int i = 0; i < loop.getExits().size(); i++) { - assert info.exitStates.get(i) != null : "no loop exit state at " + loop.getExits().get(i) + " / " + loop.getHeader(); + for (int i = 0; i < loop.getLoopExits().size(); i++) { + assert info.exitStates.get(i) != null : "no loop exit state at " + loop.getLoopExits().get(i) + " / " + loop.getHeader(); } return true; }