RFR: 8339983: [s390x] secondary_super_cache does not scale well: C1 and interpreter [v2]
Amit Kumar
amitkumar at openjdk.org
Wed Nov 27 15:55:37 UTC 2024
On Wed, 27 Nov 2024 15:43:58 GMT, Lutz Schmidt <lucy at openjdk.org> wrote:
>> already updated :)
>>
>> for s390x, `pop_frame()` doesn't interfere with `cc` as it only uses `lg` instruction which doesn't change `cc`. But `push_frame()` can change `cc` as it uses `aghi` instruction to perform add operation.
>
>> But we can store the value in scratch register, maybe `Z_R0` and then move this check.
>
> Using a scratch register is just as opaque. You implicitly rely on the code in between to do no harm. For me, a comment helps to create awareness - if anyone reads it.
Oh, that wasn't even my worse suggestion 😅.
Another solution which I was thinking about was, passing `temp_reg` at place of `result_reg` then we can move that check down without any issue, because value wouldn't be altered. And `temp_reg` then will be allocated a new register from `RegSet`.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/22341#discussion_r1860906145
More information about the hotspot-dev
mailing list