Mercurial > hg > graal-compiler
changeset 7899:21ccfe2e180b
small clarification for InstanceOfSnippetsTemplates
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Wed, 27 Feb 2013 17:52:28 +0100 |
parents | 1aca91e4333d |
children | 30d754a0e87c |
files | graal/com.oracle.graal.snippets/src/com/oracle/graal/snippets/InstanceOfSnippetsTemplates.java |
diffstat | 1 files changed, 5 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- 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();