# HG changeset patch # User Thomas Wuerthinger # Date 1433541223 -7200 # Node ID 532f9b06f54e73799cec65f42b12a9f41224247b # Parent f60f7994c5a54ee8e247fe6aeb48073f5d8b75e3 Another fix for the implicit null check phase. diff -r f60f7994c5a5 -r 532f9b06f54e graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java --- a/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java Fri Jun 05 17:12:08 2015 +0200 +++ b/graal/com.oracle.graal.phases.common/src/com/oracle/graal/phases/common/GuardLoweringPhase.java Fri Jun 05 23:53:43 2015 +0200 @@ -117,11 +117,12 @@ 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; - assert piNode.getGuard() instanceof GuardNode; - assert access.object() == object; - access.asNode().replaceFirstInput(object, piNode.getOriginalNode()); + 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; }