# HG changeset patch # User Christian Wimmer # Date 1385151408 28800 # Node ID 5d4b75c35f593cf723b506f3237f18298a16a12e # Parent 103a0003db016e58b21e569a7b22d94ba2f4fb08 Support lowering of control sink nodes; annotate parameters to make node class invariant checker happy diff -r 103a0003db01 -r 5d4b75c35f59 graal/com.oracle.graal.replacements/src/com/oracle/graal/replacements/SnippetTemplate.java --- 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 duplicates; - StartNode replaceeStart; + private final Map duplicates; + @Input private StartNode replaceeStart; public DuplicateMapper(Map 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) {