JDK-8352418 : Add verification code to check that the associated loop nodes of useless Template Assertion Predicates are dead
  • Type: Sub-task
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 25
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2025-03-19
  • Updated: 2025-06-25
  • Resolved: 2025-04-02
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.
JDK 25
25 b17Fixed
Related Reports
Blocks :  
Causes :  
Relates :  
Description
As a follow up to JDK-8350579, we should add verification code to check the following: The associated loop nodes of all newly marked useless Template Assertion Predicates during PhaseIdealLoop::eliminate_useless_predicates() should not exist in the graph anymore. 

We could walk through all OpaqueTemplateAssertionPredicate nodes and collect the loop nodes of the useless ones. Then we walk through the loop tree and verify that no loop node can be found on this list.

I actually wanted to add this with JDK-8350579 but we require the fixes from JDK-8350577 to make this reliably working.
Comments
Changeset: c9baa8a7 Branch: master Author: Christian Hagedorn <chagedorn@openjdk.org> Date: 2025-04-02 12:19:24 +0000 URL: https://git.openjdk.org/jdk/commit/c9baa8a7aea0be7221f0af834fe73f035436bd8d
02-04-2025

A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/24326 Date: 2025-03-31 12:28:59 +0000
31-03-2025