One thing to check before removing these: it is possible that an earlier version of the compiler baked references to jlr.Carriers into classfiles (such as indy bootstraps), meaning that these would need to stay around forever for those classfiles.  But, I am pretty sure (please check!) that this was only the case when pattern matching was a preview feature, in which case we can garbage-collect this code.

More generally: just because something in jlr is no longer used, doesn't mean it is necessarily dead.  This is *the* place where we put code that compiler-generated classfiles depend on (other than java.lang itself.)

On 8/31/2026 1:25 PM, Daniel Jeliński wrote:
The class was used by string templates and pattern matching. Neither of these 
features is present in the codebase today.

Tested with tier1-3, just in case.

---------
- [x] I confirm that I make this contribution in accordance with the [OpenJDK 
Interim AI Policy](https://openjdk.org/legal/ai).

-------------

Commit messages:
  - Remove carriers

Changes:https://git.openjdk.org/jdk/pull/32612/files
   Webrev:https://webrevs.openjdk.org/?repo=jdk&pr=32612&range=00
   Issue:https://bugs.openjdk.org/browse/JDK-8391478
   Stats: 1171 lines in 2 files changed: 0 ins; 1171 del; 0 mod
   Patch:https://git.openjdk.org/jdk/pull/32612.diff
   Fetch: git fetchhttps://git.openjdk.org/jdk.git pull/32612/head:pull/32612

PR:https://git.openjdk.org/jdk/pull/32612

Reply via email to