changeset 12738:9a56121f285b

Add missing cases for CheckCast usages in NodeIntrisification when BoxingSubstitutions are disabled
author Christos Kotselidis <christos.kotselidis@oracle.com>
date Sat, 09 Nov 2013 21:30:33 +0100
parents 1619e69e4ea3
children b699233403ad
files graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationPhase.java
diffstat 1 files changed, 7 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationPhase.java	Sat Nov 09 21:29:44 2013 +0100
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/NodeIntrinsificationPhase.java	Sat Nov 09 21:30:33 2013 +0100
@@ -350,6 +350,13 @@
             unbox.replaceAtUsages(intrinsifiedNode);
             graph.removeFloating(unbox);
             Debug.log("%s: Removed an UnboxNode", Debug.contextSnapshot(JavaMethod.class));
+        } else if (usage instanceof UnsafeStoreNode) {
+            UnsafeStoreNode store = (UnsafeStoreNode) usage;
+            store.replaceFirstInput(input, intrinsifiedNode);
+        } else if (usage instanceof LoadFieldNode) {
+            LoadFieldNode load = (LoadFieldNode) usage;
+            load.replaceAtUsages(intrinsifiedNode);
+            graph.removeFixed(load);
         } else if (usage instanceof MethodCallTargetNode) {
             MethodCallTargetNode checkCastCallTarget = (MethodCallTargetNode) usage;
             assert checkCastCallTarget.targetMethod().getAnnotation(NodeIntrinsic.class) != null : "checkcast at " + sourceLocation(input) +