# HG changeset patch # User Lukas Stadler # Date 1361983948 -3600 # Node ID 21ccfe2e180b3a616cab66df5b53d0025f039a7e # Parent 1aca91e4333de318eb050c105bb56d2d34007c84 small clarification for InstanceOfSnippetsTemplates diff -r 1aca91e4333d -r 21ccfe2e180b graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/InstanceOfSnippetsTemplates.java --- a/graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/InstanceOfSnippetsTemplates.java Wed Feb 27 17:50:11 2013 +0100 +++ b/graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/InstanceOfSnippetsTemplates.java Wed Feb 27 17:52:28 2013 +0100 @@ -223,11 +223,15 @@ usage.replaceFirstInput(instanceOf, instantiation.asCondition(trueValue)); } + private boolean usageFollowsInstantiation() { + return instantiation.result != null && instantiation.result.merge().next() == usage; + } + @Override public void replace(ValueNode oldNode, ValueNode newNode) { assert newNode instanceof PhiNode; assert oldNode == instanceOf; - if (sameBlock && solitaryUsage && instantiation.result != null && instantiation.result.merge().next() == usage) { + if (sameBlock && solitaryUsage && usageFollowsInstantiation()) { removeIntermediateMaterialization(newNode); } else { newNode.inferStamp();