src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/LoopTransformations.java
--- a/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/LoopTransformations.java Tue Apr 23 14:09:54 2019 -0400
+++ b/src/jdk.internal.vm.compiler/share/classes/org.graalvm.compiler.loop.phases/src/org/graalvm/compiler/loop/phases/LoopTransformations.java Tue Apr 23 22:55:09 2019 +0200
@@ -394,9 +394,14 @@
invariantValue = switchNode.value();
controls = new ArrayList<>();
controls.add(switchNode);
- } else if (switchNode.value() == invariantValue && firstSwitch.structureEquals(switchNode)) {
- // Only collect switches which test the same values in the same order
- controls.add(switchNode);
+ } else if (switchNode.value() == invariantValue) {
+ // Fortify: Suppress Null Dereference false positive
+ assert firstSwitch != null;
+
+ if (firstSwitch.structureEquals(switchNode)) {
+ // Only collect switches which test the same values in the same order
+ controls.add(switchNode);
+ }
}
}
}