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