RFR: 8339983: [s390x] secondary_super_cache does not scale well: C1 and interpreter [v2]

Lutz Schmidt lucy at openjdk.org
Wed Nov 27 15:46:38 UTC 2024


On Wed, 27 Nov 2024 12:22:39 GMT, Amit Kumar <amitkumar at openjdk.org> wrote:

>>> Also, between this instruction and the branch instruction, we are emitting `z_lg` and `z_lghi` instruction. So maybe just put a comment ?
>> 
>> Yes, do that. I notice we do the same on AArch64, but I sort-of "know" that `macroAssembler::pop` preserves flags on aarch64 and x86.
>
> 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.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/22341#discussion_r1860891564


More information about the hotspot-dev mailing list