src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchContext.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.core/src/org/graalvm/compiler/core/match/MatchContext.java

src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchContext.java

Print this page

        

*** 20,44 **** * or visit www.oracle.com if you need additional information or have any * questions. */ package org.graalvm.compiler.core.match; ! import static org.graalvm.compiler.debug.GraalDebugConfig.Options.LogVerbose; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.graalvm.compiler.core.gen.NodeLIRBuilder; import org.graalvm.compiler.core.match.MatchPattern.Result; ! import org.graalvm.compiler.debug.Debug; import org.graalvm.compiler.debug.GraalError; import org.graalvm.compiler.graph.Node; import org.graalvm.compiler.nodes.calc.FloatingNode; import org.graalvm.compiler.nodes.virtual.VirtualObjectNode; - import org.graalvm.util.Equivalence; import org.graalvm.util.EconomicMap; /** * Container for state captured during a match. */ public class MatchContext { --- 20,44 ---- * or visit www.oracle.com if you need additional information or have any * questions. */ package org.graalvm.compiler.core.match; ! import static org.graalvm.compiler.debug.DebugOptions.LogVerbose; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import org.graalvm.compiler.core.gen.NodeLIRBuilder; import org.graalvm.compiler.core.match.MatchPattern.Result; ! import org.graalvm.compiler.debug.DebugContext; import org.graalvm.compiler.debug.GraalError; import org.graalvm.compiler.graph.Node; import org.graalvm.compiler.nodes.calc.FloatingNode; import org.graalvm.compiler.nodes.virtual.VirtualObjectNode; import org.graalvm.util.EconomicMap; + import org.graalvm.util.Equivalence; /** * Container for state captured during a match. */ public class MatchContext {
*** 108,121 **** // The order of evaluation of these nodes controlled by data dependence so they // don't interfere with this match. continue; } else if ((consumed == null || !consumed.contains(node)) && node != root) { if (LogVerbose.getValue(root.getOptions())) { ! Debug.log("unexpected node %s", node); for (int j = startIndex; j <= endIndex; j++) { Node theNode = nodes.get(j); ! Debug.log("%s(%s) %1s", (consumed != null && consumed.contains(theNode) || theNode == root) ? "*" : " ", theNode.getUsageCount(), theNode); } } return Result.notSafe(node, rule.getPattern()); } } --- 108,122 ---- // The order of evaluation of these nodes controlled by data dependence so they // don't interfere with this match. continue; } else if ((consumed == null || !consumed.contains(node)) && node != root) { if (LogVerbose.getValue(root.getOptions())) { ! DebugContext debug = root.getDebug(); ! debug.log("unexpected node %s", node); for (int j = startIndex; j <= endIndex; j++) { Node theNode = nodes.get(j); ! debug.log("%s(%s) %1s", (consumed != null && consumed.contains(theNode) || theNode == root) ? "*" : " ", theNode.getUsageCount(), theNode); } } return Result.notSafe(node, rule.getPattern()); } }
*** 128,140 **** * * @param result */ public void setResult(ComplexMatchResult result) { ComplexMatchValue value = new ComplexMatchValue(result); ! if (Debug.isLogEnabled()) { ! Debug.log("matched %s %s", rule.getName(), rule.getPattern()); ! Debug.log("with nodes %s", rule.formatMatch(root)); } if (consumed != null) { for (Node node : consumed) { // All the interior nodes should be skipped during the normal doRoot calls in // NodeLIRBuilder so mark them as interior matches. The root of the match will get a --- 129,142 ---- * * @param result */ public void setResult(ComplexMatchResult result) { ComplexMatchValue value = new ComplexMatchValue(result); ! DebugContext debug = root.getDebug(); ! if (debug.isLogEnabled()) { ! debug.log("matched %s %s", rule.getName(), rule.getPattern()); ! debug.log("with nodes %s", rule.formatMatch(root)); } if (consumed != null) { for (Node node : consumed) { // All the interior nodes should be skipped during the normal doRoot calls in // NodeLIRBuilder so mark them as interior matches. The root of the match will get a
src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.core/src/org/graalvm/compiler/core/match/MatchContext.java
Index Unified diffs Context diffs Sdiffs Patch New Old Previous File Next File