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

Reply via email to