src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/cfg/CFGVerifier.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File
*** old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/cfg/CFGVerifier.java	Mon Mar 20 17:37:09 2017
--- new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/cfg/CFGVerifier.java	Mon Mar 20 17:37:08 2017

*** 43,57 **** --- 43,68 ---- assert sux.getId() > block.getId() || sux.isLoopHeader(); } if (block.getDominator() != null) { assert block.getDominator().getId() < block.getId(); assert block.getDominator().getDominated().contains(block); + + AbstractBlockBase<?> domChild = block.getDominator().getFirstDominated(); + while (domChild != null) { + if (domChild == block) { + break; + } + domChild = domChild.getDominatedSibling(); } for (T dominated : block.getDominated()) { + assert domChild != null : "dominators must contain block"; + } + + T dominated = block.getFirstDominated(); + while (dominated != null) { assert dominated.getId() > block.getId(); assert dominated.getDominator() == block; + dominated = dominated.getDominatedSibling(); } T postDominatorBlock = block.getPostdominator(); if (postDominatorBlock != null) { assert block.getSuccessorCount() > 0 : "block has post-dominator block, but no successors";

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core.common/src/org/graalvm/compiler/core/common/cfg/CFGVerifier.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File