src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/aot/EliminateRedundantInitializationPhase.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File hotspot Cdiff src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/aot/EliminateRedundantInitializationPhase.java

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/aot/EliminateRedundantInitializationPhase.java

Print this page

        

*** 140,158 **** for (Entry<Block, ArrayList<Node>> e : blockToInits.entrySet()) { Block currentBlock = e.getKey(); ArrayList<Node> nodesInCurrent = e.getValue(); if (nodesInCurrent != null) { // if the list is null, the initializer has already been // eliminated. ! for (Block d : currentBlock.getDominated()) { ArrayList<Node> nodesInDominated = blockToInits.get(d); if (nodesInDominated != null) { // if the list is null, the initializer has // already been eliminated. assert nodesInDominated.size() == 1; Node n = nodesInDominated.iterator().next(); result.add(n); blockToInits.put(d, null); } } } } return result; } --- 140,160 ---- for (Entry<Block, ArrayList<Node>> e : blockToInits.entrySet()) { Block currentBlock = e.getKey(); ArrayList<Node> nodesInCurrent = e.getValue(); if (nodesInCurrent != null) { // if the list is null, the initializer has already been // eliminated. ! Block d = currentBlock.getFirstDominated(); ! while (d != null) { ArrayList<Node> nodesInDominated = blockToInits.get(d); if (nodesInDominated != null) { // if the list is null, the initializer has // already been eliminated. assert nodesInDominated.size() == 1; Node n = nodesInDominated.iterator().next(); result.add(n); blockToInits.put(d, null); } + d = d.getDominatedSibling(); } } } return result; }
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.hotspot/src/org/graalvm/compiler/hotspot/phases/aot/EliminateRedundantInitializationPhase.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File