RFR: 8325467: Support methods with many arguments in C2 [v17]
Emanuel Peter
epeter at openjdk.org
Fri Jun 20 10:16:44 UTC 2025
On Fri, 25 Apr 2025 18:00:35 GMT, Daniel Lundén <dlunden at openjdk.org> wrote:
>> src/hotspot/share/opto/compile.hpp line 524:
>>
>>> 522: PhaseRegAlloc* _regalloc; // Results of register allocation.
>>> 523: RegMask _FIRST_STACK_mask; // All stack slots usable for spills (depends on frame layout)
>>> 524: ResourceArea _regmask_arena; // Holds dynamically allocated extensions of short-lived register masks
>>
>> If they are short-lived ... then why not just resource allocate them? Is there a conflict? Would it be good to describe that somewhere?
>
> I assume you mean resource allocate in the default `Thread::current()->resource_area()`? The existing resource marks are often far away, leading to unnecessary memory consumption. Trying to narrow the existing resource marks does lead to conflicts. I added a motivation to the description in `compile.hpp`!
And these conflicts cannot be resolved? Can you bring an example that is too much effort?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/20404#discussion_r2158574971
More information about the hotspot-compiler-dev
mailing list