changeset 16986:f7359a0ce946

tweaked comparison of a Node against a node class
author Doug Simon <doug.simon@oracle.com>
date Wed, 27 Aug 2014 20:12:57 +0200
parents a1cb03f6b606
children 39d979dae809
files graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/match/MatchPattern.java graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerDivNode.java
diffstat 3 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/match/MatchPattern.java	Wed Aug 27 20:02:06 2014 +0200
+++ b/graal/com.oracle.graal.compiler/src/com/oracle/graal/compiler/match/MatchPattern.java	Wed Aug 27 20:12:57 2014 +0200
@@ -185,7 +185,7 @@
     }
 
     private Result matchType(ValueNode node) {
-        if (nodeClass != null && node.getNodeClass() != NodeClass.get(nodeClass)) {
+        if (nodeClass != null && node.getNodeClass().is(nodeClass)) {
             return Result.WRONG_CLASS(node, this);
         }
         return Result.OK;
--- a/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java	Wed Aug 27 20:02:06 2014 +0200
+++ b/graal/com.oracle.graal.graph/src/com/oracle/graal/graph/NodeClass.java	Wed Aug 27 20:12:57 2014 +0200
@@ -239,10 +239,12 @@
 
     /**
      * Determines if a given {@link Node} class is described by the {@link NodeClass} object.
+     *
+     * @param nodeClass a {@linkplain GeneratedNode non-generated} {@link Node} class
      */
     public boolean is(Class<? extends Node> nodeClass) {
-        assert nodeClass.getAnnotation(GeneratedNode.class) == null;
-        return nodeClass.equals(getClazz());
+        assert nodeClass.getAnnotation(GeneratedNode.class) == null : "cannot test NodeClas against generated " + nodeClass;
+        return nodeClass == getClazz();
     }
 
     public String shortName() {
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerDivNode.java	Wed Aug 27 20:02:06 2014 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/IntegerDivNode.java	Wed Aug 27 20:12:57 2014 +0200
@@ -97,7 +97,7 @@
         }
 
         if (next() instanceof IntegerDivNode) {
-            NodeClass nodeClass = NodeClass.get(this.getClass());
+            NodeClass nodeClass = getNodeClass();
             if (next().getClass() == this.getClass() && nodeClass.inputsEqual(this, next()) && nodeClass.valueEqual(this, next())) {
                 return next();
             }