--- old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/MethodHandleNode.java 2017-08-03 22:42:56.192672831 -0700 +++ new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.replacements/src/org/graalvm/compiler/replacements/nodes/MethodHandleNode.java 2017-08-03 22:42:56.093668393 -0700 @@ -320,6 +320,7 @@ ResolvedJavaType argumentType = StampTool.typeOrNull(argument.stamp()); if (argumentType == null || (argumentType.isAssignableFrom(targetType.getType()) && !argumentType.equals(targetType.getType()))) { LogicNode inst = InstanceOfNode.createAllowNull(targetType, argument, null, null); + assert !inst.isAlive(); if (!inst.isTautology()) { inst = adder.add(inst); AnchoringNode guardAnchor = adder.getGuardAnchor(); @@ -337,8 +338,6 @@ } ValueNode valueNode = adder.add(PiNode.create(argument, StampFactory.object(targetType), guard.asNode())); arguments[index] = valueNode; - } else { - inst.safeDelete(); } } }