JDK-8350578 : Refactor useless Parse and Template Assertion Predicate elimination code by using a PredicateVisitor
  • Type: Sub-task
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 25
  • Priority: P4
  • Status: Open
  • Resolution: Unresolved
  • Submitted: 2025-02-24
  • Updated: 2025-03-13
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
tbdUnresolved
Description
The current Template Assertion Predicate elimination code could be refactored to use the new Predicate Visitors/Iterator. We can reuse  existing ParsePredicateUsefulMarker and extend it.

Moreover, there is a bug: When removing Parse Predicates, we are also removing Template Assertion Predicates. But we could apply more loop optimizations afterwards which include loop splitting. In this case, we also need to establish Assertion Predicates which we fail to do because we've already (wrongly) removed them. We should keep the Template Assertion Predicates until loop opts are over. This patch is a required preparation step in order to fix that with JDK-8350577.
Comments
A pull request was submitted for review. Branch: master URL: https://git.openjdk.org/jdk/pull/24013 Date: 2025-03-12 16:18:53 +0000
13-03-2025