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