src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIR.java
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIR.java Tue Mar 12 12:12:01 2019 -0700
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.lir/src/org/graalvm/compiler/lir/LIR.java Tue Mar 12 19:17:42 2019 +0100
@@ -28,12 +28,14 @@
import java.util.Arrays;
import java.util.List;
+import org.graalvm.compiler.asm.Label;
import org.graalvm.compiler.core.common.cfg.AbstractBlockBase;
import org.graalvm.compiler.core.common.cfg.AbstractControlFlowGraph;
import org.graalvm.compiler.core.common.cfg.BlockMap;
import org.graalvm.compiler.debug.DebugContext;
import org.graalvm.compiler.lir.StandardOp.BlockEndOp;
import org.graalvm.compiler.lir.StandardOp.LabelOp;
+import org.graalvm.compiler.lir.StandardOp.LabelHoldingOp;
import org.graalvm.compiler.lir.gen.LIRGenerator;
import org.graalvm.compiler.options.OptionValues;
@@ -233,8 +235,11 @@
continue;
}
for (LIRInstruction inst : lirInstructions.get(block)) {
- if (inst instanceof LabelOp) {
- ((LabelOp) inst).getLabel().reset();
+ if (inst instanceof LabelHoldingOp) {
+ Label label = ((LabelHoldingOp) inst).getLabel();
+ if (label != null) {
+ label.reset();
+ }
}
}
}