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

Emanuel Peter epeter at openjdk.org
Fri Jun 20 10:08:41 UTC 2025


On Fri, 25 Apr 2025 17:58:08 GMT, Daniel Lundén <dlunden at openjdk.org> wrote:

>> test/jdk/java/lang/invoke/TestCatchExceptionWithVarargs.java line 32:
>> 
>>> 30:  *          timeouts due to compilation of a large number of methods with a
>>> 31:  *          large number of parameters.
>>> 32:  * @run main/othervm -XX:MaxNodeLimit=15000 TestCatchExceptionWithVarargs
>> 
>> Why not have two runs here. One that requires that there is no `Xcomp`, where we have the normal node limit. And one where you lower the node limit, so that `Xcomp` is ok?
>
> Same here, I just added the `MaxNodeLimit`. I'd prefer leaving any other changes to a separate RFE (if needed).

I still don't quite understand the comment. Maybe it is just the phrasing that I'm struggling with.

Did you mean this:
We would get timeouts in this test, especially with -Xcomp. It is because of compilations with a large number of methods with a large number of parameters, and that means larger C2 graphs, which take longer. Rather than increasing the test timeout, we just lower the MaxNodeLimit, so that those compilations bail out fast, and do not take up so much compile time.

But then: why not just increase the test timeout?

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

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


More information about the hotspot-compiler-dev mailing list