JDK-8367338 : [lworld] compiler/gcbarriers/TestImplicitNullChecks.java fails
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: repo-valhalla
  • Priority: P4
  • Status: In Progress
  • Resolution: Unresolved
  • Submitted: 2025-09-10
  • Updated: 2025-09-26
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
repo-valhallaUnresolved
Related Reports
Relates :  
Relates :  
Description
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 ]]

Comments
A pull request was submitted for review. Branch: lworld URL: https://git.openjdk.org/valhalla/pull/1626 Date: 2025-09-24 15:36:04 +0000
26-09-2025

The issue is likely linked to the fact that the test relies on the implementation of compareAndExchangeReference, whose implementation in Valhalla has changed with JDK-8351569.
24-09-2025

Damon, please have a look.
11-09-2025

Yet to integrate jdk-26+2 into lworld...strike that, integrated
11-09-2025