Mercurial > hg > graal-compiler
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) +