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