changeset 13780:d6ac7ebead35

canonicalize a LoadField on a null constant object to deopt
author Lukas Stadler <lukas.stadler@jku.at>
date Tue, 28 Jan 2014 14:39:48 +0100
parents fc5e2c808a23
children 7adf2778dc96
files graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadFieldNode.java
diffstat 1 files changed, 3 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadFieldNode.java	Tue Jan 28 12:38:08 2014 +0100
+++ b/graal/com.oracle.graal.nodes/src/com/oracle/graal/nodes/java/LoadFieldNode.java	Tue Jan 28 14:39:48 2014 +0100
@@ -74,6 +74,9 @@
                 return phi;
             }
         }
+        if (!isStatic() && object().isNullConstant()) {
+            return graph().add(new DeoptimizeNode(DeoptimizationAction.None, DeoptimizationReason.NullCheckException));
+        }
         return this;
     }