I think we are safe here: j.l.runtime.Carriers was package-private and 
inaccessible to class files.
________________________________
From: Brian Goetz <[email protected]>
Sent: Tuesday, September 1, 2026 2:24 PM
To: Daniel Jeliński <[email protected]>; [email protected] 
<[email protected]>
Subject: Re: RFR: 8391478: Remove java.lang.runtime.Carriers

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