RFR: 8349686: [s390x] C1: Improve Class.isInstance intrinsic [v4]
Amit Kumar
amitkumar at openjdk.org
Thu Feb 13 12:54:12 UTC 2025
On Thu, 13 Feb 2025 11:19:04 GMT, Amit Kumar <amitkumar at openjdk.org> wrote:
>> src/hotspot/cpu/s390/macroAssembler_s390.cpp line 3674:
>>
>>> 3672: Register r_temp2,
>>> 3673: Register r_temp3) {
>>> 3674: assert_different_registers(r_sub_klass, r_super_klass, r_result, r_temp1, r_temp2, r_temp3, Z_R0_scratch);
>>
>> Better use `LOCGHI` further down and avoid use of `Z_R0_scratch`.
>> You are using `LOCHI` in `Runtime1::generate_code_for()` anyway which implies you are sure the load/store-on-condition facility 2 is installed. In other words: is z13 the minimum H/W version?
>>
>> Even more simplification: there is no need to set `r_linear_result` conditionally. You set it to 1 and branch to failure if array length is zero. For all other cases, repne_scan() does the right thing.
>
>> In other words: is z13 the minimum H/W version?
>
> umm, no it's not. I will create a macroAssembler method to handle LOCHI.
I have pushed new code and :
1. did argument shuffling with frame resizing.
2. made sure that things will not break for hardware older than z13.
Can you have another look :-)
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/23535#discussion_r1954440468
More information about the hotspot-dev
mailing list