--- old/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/Node.java 2017-09-12 22:24:29.818959853 -0700 +++ new/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.graph/src/org/graalvm/compiler/graph/Node.java 2017-09-12 22:24:29.679953589 -0700 @@ -38,6 +38,7 @@ import java.util.Map; import java.util.Objects; import java.util.function.Predicate; +import java.util.function.Supplier; import org.graalvm.compiler.core.common.Fields; import org.graalvm.compiler.core.common.type.AbstractPointerStamp; @@ -598,6 +599,15 @@ } } + /** + * Update the source position only if it is null. + */ + public void updateNodeSourcePosition(Supplier sourcePositionSupp) { + if (this.sourcePosition == null) { + setNodeSourcePosition(sourcePositionSupp.get()); + } + } + public DebugCloseable withNodeSourcePosition() { return graph.withNodeSourcePosition(this); }