RFR: 8349686: [s390x] C1: Improve Class.isInstance intrinsic [v7]

Andrew Haley aph at openjdk.org
Fri Feb 14 10:31:14 UTC 2025


On Thu, 13 Feb 2025 12:59:50 GMT, Amit Kumar <amitkumar at openjdk.org> wrote:

>> s390x implementation for Class.isInstance intrinsic. 
>> 
>> Tier1 test on release & fastdebug vm are clean with flag: `-XX:-UseSecondarySupersCache -XX:+UseSecondarySupersTable -XX:+VerifySecondarySupers -XX:+StressSecondarySupers`. 
>> 
>> Benchmark results will be updated soon.
>
> Amit Kumar has updated the pull request incrementally with one additional commit since the last revision:
> 
>   space for 3 registers

src/hotspot/cpu/s390/c1_Runtime1_s390.cpp line 643:

> 641:       __ z_stg(temp3 /*Z_R11*/, 1*BytesPerWord + frame::z_abi_160_size, Z_SP);
> 642:       assert(2*BytesPerWord + frame::z_abi_160_size == frame_size, "check");
> 643: 

I think you may be able temporarily to save R10 and R11 in the floating-point registers. You have plenty of call-clobbered FP registers, I think. This might work better than creating a stack frame. I guess it's possible to copy from an integer register to a floating-point register without altering any of the bits. There might be no performance advantage, but I think that it's worth a try.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/23535#discussion_r1955915756


More information about the hotspot-dev mailing list