RFR: 8325467: Support methods with many arguments in C2 [v4]
Daniel Lundén
dlunden at openjdk.org
Fri Aug 23 11:39:06 UTC 2024
On Wed, 21 Aug 2024 12:05:57 GMT, Roberto Castañeda Lozano <rcastanedalo at openjdk.org> wrote:
> Would it be possible to 1) extend test/hotspot/gtest/opto/test_regmask.cpp with tests that exercise extended RegMasks and 2) re-run the standard test tiers with a (temporary) RM_SIZE value that is low enough to also exercise the new logic more often?
Yes, good idea. I'm adding 2) to my TODO list (and as we discussed in-person, you offered to work a bit on 1) yourself).
> I think RegMask::is_UP() needs to be updated to handle extended RegMasks (unless we can prove that it will never be called on an extended one).
Thanks, good catch. The problem is that `overlap` (intentionally) does not consider the all-stack flag. I'll experiment by adding some `assert`s to see if this is also a more widespread problem. For `is_UP`, I think the best solution is to rewrite it using `RegMask::find_last_elem` and `OptoReg::is_reg` instead.
> Other uses of Matcher::STACK_ONLY_mask might also need to be revisited, in particular the line tmp_rm.SUBTRACT(Matcher::STACK_ONLY_mask) in PhaseChaitin::Split.
Yes, I'll have a look. `SUBTRACT` should be fine though, I have rewritten it to handle such cases.
-------------
PR Comment: https://git.openjdk.org/jdk/pull/20404#issuecomment-2306907174
More information about the hotspot-compiler-dev
mailing list