RFR: 8325467: Support methods with many arguments in C2 [v24]

Daniel Lundén dlunden at openjdk.org
Mon Sep 8 15:56:28 UTC 2025


On Tue, 2 Sep 2025 14:16:18 GMT, Emanuel Peter <epeter at openjdk.org> wrote:

>> Yes, you are correct. There is a detailed explanation in `x86_64.ad` ("Definition of frame structure and management information").
>
> Ok. But that's not immediately apparent here. If you already have a comment, why not mention caller/callee or inner/outer scope?

Sure, I'll add that.

>> Right, we should probably update this terminology as well. It comes from the fact that register masks can always represent all registers (+ a few stack slots), and anything beyond the mask is necessarily additional stack slots. So, if `_all_stack` is set, it means the register mask includes all of the stack slots. Any suggestion for a better name?
>
> So that could mean that we have stack slots that are in the mask, and that are off, but we still have `_all_stack = true`, right? That sounds a little contradictory to me.
> 
> Some ideas:
> - `_value_of_bits_above_mask` - though strictly speaking the mask also represents those bits, and so they are not really "above" the mask.
> - `_value_of_bits_above_...` ah it is above the register mask `size`, right? Of course it is a bit suboptimal that the `size` is only for those that we explicitly represent, and does not capture that we implicitly represent. Maybe you can think about naming here too. Optional.

I agree that the current naming is a bit contradictory, but I'm not sure how to rename it. I'll think a bit and propose something in the renaming-PR.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/20404#discussion_r2330673189
PR Review Comment: https://git.openjdk.org/jdk/pull/20404#discussion_r2330663867


More information about the hotspot-compiler-dev mailing list