Mercurial > hg > graal-compiler
changeset 21759:75daca0c6a0f
Merge.
author | Thomas Wuerthinger <thomas.wuerthinger@oracle.com> |
---|---|
date | Fri, 05 Jun 2015 23:54:02 +0200 |
parents | 532f9b06f54e (diff) c052d68e7eac (current diff) |
children | 55058b8000ea 0dfd3ea90d33 |
files | graal/com.oracle.graal.java.test/src/com/oracle/graal/java/test/TestBytecodeDisassemblerProvider.java graal/com.oracle.jvmci.meta/src/com/oracle/jvmci/meta/BytecodeDisassemblerProvider.java |
diffstat | 1 files changed, 9 insertions(+), 9 deletions(-) [+] |
line wrap: on
line diff
--- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java Fri Jun 05 23:05:16 2015 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java Fri Jun 05 23:54:02 2015 +0200 @@ -117,14 +117,14 @@ private void check(Access access, ValueNode object) { ValueNode guard = nullGuarded.get(object); if (guard != null && isImplicitNullCheck(access.accessLocation())) { - if (object instanceof PiNode) { - PiNode piNode = (PiNode) object; - if (access.object() == object) { - access.asNode().replaceFirstInput(object, piNode.getOriginalNode()); - } - if (!(piNode.getGuard() instanceof GuardNode)) { - return; - } + if (guard instanceof PiNode) { + PiNode piNode = (PiNode) guard; + assert guard == object; + assert piNode.getGuard() instanceof GuardNode : piNode; + assert access.object() == guard; + access.asNode().replaceFirstInput(piNode, piNode.getOriginalNode()); + } else { + assert guard instanceof GuardNode; } metricImplicitNullCheck.increment(); access.setGuard(null); @@ -154,7 +154,7 @@ if (condition.hasNoUsages()) { GraphUtil.killWithUnusedFloatingInputs(condition); } - nullGuarded.remove(fixedAccess.object()); + nullGuarded.remove(object); } }