RFR: 8325467: Support methods with many arguments in C2 [v23]
Daniel Lundén
dlunden at openjdk.org
Mon Sep 1 15:58:01 UTC 2025
On Wed, 27 Aug 2025 09:08:09 GMT, Emanuel Peter <epeter at openjdk.org> wrote:
>> Daniel Lundén has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Add clarifying comments at definitions of register mask sizes
>
>> For reference, here is now the changeset adding an IFG bailout: #26118
>
> Since that is now integrated: do we need to make any changes to the patch here? I thought the goal was to use the bailouts instead of increasing `MaxNodeLimit`.
>
> Because looking at the discussions above: we were worried that there could be compile-time regressions - even if quite rare. But they were in the range of 40s which is quite scary. Are these now gone?
Thanks @eme64!
> Do you think it would make sense to have more tests? I'm imagining something like this:
>
> * Generate tests with 0-255 arguments. You could use the template framework.
> * Take different types (e.g. various primitive types, also those that take 2 stack slots like long and double). You could use the template library `PrimitiveType` if you want.
> * Test that we actually get the method compiled. Maybe an IR rule could be used here?
> * And do some rudamentary result verification
> * Make sure it does not just work with `Xcomp` but also under "normal" circumstances (tiered, profiling, etc).
Sure, I can expand upon the testing. It's also a good opportunity to have a look at the template framework. Note that for `TestMaxMethodArguments.java`, I do already check that it compiles via `-XX:+AbortVMOnCompilationFailure`.
> I'll look a bit at your VM changes now ;)
Thanks, I'll have a look and respond in the individual threads.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/20404#issuecomment-3242808695
More information about the hotspot-compiler-dev
mailing list