On Fri, 20 Mar 2026 13:06:37 GMT, Paul Hübner <[email protected]> wrote:
> Hi all,
>
> This change eliminates more box cache usages when running with
> `--enable-preview`:
> * The majority of the change is contributed by @xmas92 who disabled CDS
> loading an archived cache.
> * There's an autobox cache cast in C2 that needed to be disabled.
>
> Notably, this change does not prevent the `XXXCache`'s `cache` variables from
> being CDS archived. This is due to the fact that the infrastructure is common
> to preview and non-preview mode, and the code complexity is not justifiable
> when the cost is storing five `null`s. Instead, it is ensured that the cache
> is never read from.
>
> Testing: tiers 1-4.
So far, the design makes sense to me! The caches will still exist in the CDS
archive because they will be in the default classlist, but minimizing their use
in preview mode will help transition to its deprecation.
src/java.base/share/classes/java/lang/Byte.java line 146:
> 144: } else {
> 145: cache = unused;
> 146: assert !isEnabled();
I would assert that archivedCache is null here so we know it does not get
loaded by CDS at all.
-------------
PR Review:
https://git.openjdk.org/valhalla/pull/2249#pullrequestreview-4023240728
PR Review Comment:
https://git.openjdk.org/valhalla/pull/2249#discussion_r3002819694