changeset 13131:5d4b75c35f59

Support lowering of control sink nodes; annotate parameters to make node class invariant checker happy
author Christian Wimmer <christian.wimmer@oracle.com>
date Fri, 22 Nov 2013 12:16:48 -0800
parents 103a0003db01
children 922dd1415c0a
files graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java
diffstat 1 files changed, 3 insertions(+), 3 deletions(-) [+]
line wrap: on
line diff
--- a/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java	Fri Nov 22 12:13:47 2013 -0800
+++ b/graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java	Fri Nov 22 12:16:48 2013 -0800
@@ -926,8 +926,8 @@
 
     private class DuplicateMapper extends MemoryMapNode {
 
-        Map<Node, Node> duplicates;
-        StartNode replaceeStart;
+        private final Map<Node, Node> duplicates;
+        @Input private StartNode replaceeStart;
 
         public DuplicateMapper(Map<Node, Node> duplicates, StartNode replaceeStart) {
             this.duplicates = duplicates;
@@ -1005,7 +1005,7 @@
 
             // Replace all usages of the replacee with the value returned by the snippet
             ValueNode returnValue = null;
-            if (returnNode != null) {
+            if (returnNode != null && !(replacee instanceof ControlSinkNode)) {
                 if (returnNode.result() instanceof LocalNode) {
                     returnValue = (ValueNode) replacements.get(returnNode.result());
                 } else if (returnNode.result() != null) {