changeset 6571:f182f58459fa

removed unnecessary boxing
author Doug Simon <doug.simon@oracle.com>
date Wed, 24 Oct 2012 17:37:03 +0200
parents d4f5301e9c7b
children 542c0184ee90
files graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/CompareNode.java
diffstat 1 files changed, 11 insertions(+), 15 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/CompareNode.java	Wed Oct 24 17:35:44 2012 +0200
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/calc/CompareNode.java	Wed Oct 24 17:37:03 2012 +0200
@@ -84,24 +84,20 @@
         Constant falseConstant = conditionalNode.falseValue().asConstant();
 
         if (falseConstant != null && trueConstant != null && runtime != null) {
-            Boolean trueResult = cond.foldCondition(trueConstant, constant, runtime, unorderedIsTrue());
-            Boolean falseResult = cond.foldCondition(falseConstant, constant, runtime, unorderedIsTrue());
+            boolean trueResult = cond.foldCondition(trueConstant, constant, runtime, unorderedIsTrue());
+            boolean falseResult = cond.foldCondition(falseConstant, constant, runtime, unorderedIsTrue());
 
-            if (trueResult != null && falseResult != null) {
-                boolean trueUnboxedResult = trueResult;
-                boolean falseUnboxedResult = falseResult;
-                if (trueUnboxedResult == falseUnboxedResult) {
-                    return ConstantNode.forBoolean(trueUnboxedResult, graph());
+            if (trueResult == falseResult) {
+                return ConstantNode.forBoolean(trueResult, graph());
+            } else {
+                if (trueResult) {
+                    assert falseResult == false;
+                    return conditionalNode.condition();
                 } else {
-                    if (trueUnboxedResult) {
-                        assert falseUnboxedResult == false;
-                        return conditionalNode.condition();
-                    } else {
-                        assert falseUnboxedResult == true;
-                        negateUsages();
-                        return conditionalNode.condition();
+                    assert falseResult == true;
+                    negateUsages();
+                    return conditionalNode.condition();
 
-                    }
                 }
             }
         }