On Mon, 18 May 2026 09:22:36 GMT, Tobias Hartmann <[email protected]> wrote:
> This patch re-enables the `EliminateAutoBox` functionality when > `--enable-preview` is set, i.e. when the primitive boxes are value classes. > `EliminateAutoBox` has multiple effects, including an impact on inlining > decisions but its main goal is to avoid boxing via `Integer.valueOf(int)` etc > by replacing that call. I added support for scalarized returns from that > method and also added support for removing unboxing via `Integer.intValue` > etc. > > With this fix, I'm seeing various improvements: > > <img width="570" height="513" alt="Screenshot from 2026-06-02 11-08-53" > src="https://github.com/user-attachments/assets/7c62b35b-a8ea-44ce-aa5c-d6a66f113973" > /> > > (The regressions are not significant and due to high variance of the > benchmark) > > There's more we could do here but I already spent way too much time on this, > so I'll defer follow-up work to > [JDK-8385809](https://bugs.openjdk.org/browse/JDK-8385809). > > Thanks, > Tobias > > --------- > - [x] I confirm that I make this contribution in accordance with the [OpenJDK > Interim AI Policy](https://openjdk.org/legal/ai). After second pass, I'm convinced. I think it's unfortunate we have so much case split in `ProjNode::Identity` wrt the flatness of arguments and return. It's rather a general comment than something actionable here. src/hotspot/share/opto/macro.cpp line 1575: > 1573: process_users_of_allocation(call); > 1574: > 1575: const TypeInstPtr* t = nullptr; That is used only for logging, right? ------------- Marked as reviewed by mchevalier (Committer). PR Review: https://git.openjdk.org/valhalla/pull/2446#pullrequestreview-4416315236 PR Review Comment: https://git.openjdk.org/valhalla/pull/2446#discussion_r3346599215
