RFR: 8339983: [s390x] secondary_super_cache does not scale well: C1 and interpreter [v2]
Amit Kumar
amitkumar at openjdk.org
Wed Nov 27 11:18:36 UTC 2024
On Wed, 27 Nov 2024 11:08:18 GMT, Amit Kumar <amitkumar at openjdk.org> wrote:
>>> There is a significant (and varying) distance between here and where the CC is evaluated. I would expect at least a comment that the code in between must not alter the CC.
>>
>> I'd just move the comparison nearer the conditional branch.
>
>>I'd just move the comparison nearer the conditional branch.
>
> result_reg could be `noreg`. So it will be popped out and we might loose the content. One such call is at `3245`:
>
> if (UseSecondarySupersTable) {
> check_klass_subtype_slow_path_table(sub_klass,
> super_klass,
> temp_reg,
> temp2_reg,
> /*temp3*/noreg,
> /*temp4*/noreg,
> /*result*/noreg,
> L_success,
> L_failure,
> set_cond_codes);
>
>
> But we can store the value in scratch register, maybe `Z_R0` and then move this check.
Also, between this instruction and the branch instruction, we are emitting `z_lg` and `z_lghi` instruction. So maybe just put a comment ?
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/22341#discussion_r1860478551
More information about the hotspot-dev
mailing list