Mercurial > hg > graal-compiler
changeset 8299:22cab6e509a3
Remove orphaned condition in implicit null check detection
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Fri, 15 Mar 2013 17:26:22 +0100 |
parents | 7d6cee014fb8 |
children | 6a9a467e2e8b |
files | graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java |
diffstat | 1 files changed, 5 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java Fri Mar 15 13:36:24 2013 +0100 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java Fri Mar 15 17:26:22 2013 +0100 @@ -31,6 +31,7 @@ import com.oracle.graal.nodes.calc.*; import com.oracle.graal.nodes.cfg.*; import com.oracle.graal.nodes.extended.*; +import com.oracle.graal.nodes.util.*; import com.oracle.graal.phases.*; import com.oracle.graal.phases.schedule.*; @@ -137,7 +138,11 @@ } assert access instanceof AccessNode; access.setNullCheck(true); + LogicNode condition = guard.condition(); guard.replaceAndDelete(access.node()); + if (condition.usages().isEmpty()) { + GraphUtil.killWithUnusedFloatingInputs(condition); + } nullGuarded.remove(access.object()); } }