RFR: 8344232: [PPC64] secondary_super_cache does not scale well: C1 and interpreter [v2]

Martin Doerr mdoerr at openjdk.org
Wed Jan 22 22:02:46 UTC 2025


On Wed, 22 Jan 2025 12:05:04 GMT, Richard Reingruber <rrich at openjdk.org> wrote:

>> The correct result is always in CR0 with this PR (unless a label or result GP reg is provided).
>> "return" means "blr", here. That can optionally be used in case of success. In this case, CR0 is always "eq".
>> I've moved the `crandc` instruction into `check_klass_subtype_slow_path_linear` which contains such a "blr" for a success case. This way, the linear version works exactly as before.
>> The new code `check_klass_subtype_slow_path_table` doesn't use "blr". That's why I added "may" to the comment.
>
> This is extremely hard to see.
> L2154 with the "blr" in `check_klass_subtype_slow_path_linear` looks redundant to me. It should be removed if you agree.
> The comment here should be adapted then too.
> Also the comment at macroAssembler_ppc.cpp:2258 needs to be adapted because fallthrough from `check_klass_subtype_slow_path` does not mean "not successful". `L_failure` could be renamed to `L_fast_path_failure`

I think `L_failure` is correct. And it's used the same way on all platforms.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/22881#discussion_r1926036237


More information about the hotspot-dev mailing list