Introduced in JDK-8345067 (jdk-26+2) Valhalla repo fails with:
One or more @IR rules failed:
Failed IR Rules (1) of Methods (1)
----------------------------------
1) Method "static java.lang.Object compiler.gcbarriers.TestImplicitNullChecks.testCompareAndExchange(compiler.gcbarriers.TestImplicitNullChecks$Outer,java.lang.Object,java.lang.Object)" - [Failed IR rules: 1]:
* @IR rule 1: "@compiler.lib.ir_framework.IR(phase={FINAL_CODE}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={}, applyIfPlatformOr={}, applyIfPlatform={}, failOn={"_#NULL_CHECK#_"}, applyIfOr={"UseZGC", "true", "UseG1GC", "true"}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
> Phase "Final Code":
- failOn: Graph contains forbidden nodes:
* Constraint 1: "(\d+(\s){2}(NullCheck.*)+(\s){2}===.*)"
- Matched forbidden nodes (3):
* 385 NullCheck === 324 172 [[ 49 32 ]]
* 384 NullCheck === 348 161 [[ 307 162 ]]
* 383 NullCheck === 328 193 [[ 60 194 ]]
One or more @IR rules failed:
Failed IR Rules (1) of Methods (1)
----------------------------------
1) Method "static java.lang.Object compiler.gcbarriers.TestImplicitNullChecks.testCompareAndExchange(compiler.gcbarriers.TestImplicitNullChecks$Outer,java.lang.Object,java.lang.Object)" - [Failed IR rules: 1]:
* @IR rule 1: "@compiler.lib.ir_framework.IR(phase={FINAL_CODE}, applyIfPlatformAnd={}, applyIfCPUFeatureOr={}, counts={}, applyIfPlatformOr={}, applyIfPlatform={}, failOn={"_#NULL_CHECK#_"}, applyIfOr={"UseZGC", "true", "UseG1GC", "true"}, applyIfCPUFeatureAnd={}, applyIf={}, applyIfCPUFeature={}, applyIfAnd={}, applyIfNot={})"
> Phase "Final Code":
- failOn: Graph contains forbidden nodes:
* Constraint 1: "(\d+(\s){2}(NullCheck.*)+(\s){2}===.*)"
- Matched forbidden nodes (3):
* 385 NullCheck === 324 172 [[ 49 32 ]]
* 384 NullCheck === 348 161 [[ 307 162 ]]
* 383 NullCheck === 328 193 [[ 60 194 ]]
- relates to
-
JDK-8345067 C2: enable implicit null checks for ZGC reads
-
- Resolved
-