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

Daniel Lundén dlunden at openjdk.org
Mon Apr 7 11:42:07 UTC 2025


On Thu, 3 Apr 2025 11:43:32 GMT, Daniel Lundén <dlunden at openjdk.org> wrote:

>> src/hotspot/share/opto/regmask.hpp line 545:
>> 
>>> 543: 
>>> 544:   // Overlap test. Non-zero if any registers in common, including all-stack.
>>> 545:   bool overlap(const RegMask &rm) const {
>> 
>> Please review the frequency of the different tests in this function. I ran an instrumented version and found the test in Case 4 to succeed (return true) more often that Case 2 and Case 3.
>
> Thanks, I made a note to run some benchmarks for this and gather statistics. It is critical that we run case 1 first (results in a significant performance gain), but perhaps we can gain a little by ordering the rare cases as well.

I ran Dacapo and only ever triggered case 1 (never the rare cases). As we discussed offline, you likely triggered the other cases when artificially reducing the static register mask size to stress the changeset? I don't think the ordering of the rare cases matter much in practice.

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

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


More information about the hotspot-compiler-dev mailing list