RFR: 8327652: S390x: Implements SLP support [v6]
Sidraya Jayagond
sjayagond at openjdk.org
Wed Mar 27 08:31:25 UTC 2024
On Mon, 25 Mar 2024 17:07:00 GMT, Lutz Schmidt <lucy at openjdk.org> wrote:
>> Sidraya Jayagond has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Fix cosmetic review comments
>
> src/hotspot/cpu/s390/s390.ad line 1194:
>
>> 1192: }
>> 1193: return size;
>> 1194: }
>
> How about doing the size calculation like
>
> if (cbuf) {
> C2_MacroAssembler _masm(cbuf);
> int start_off = __ offset();
> __ z_vlr(Rdst, Rsrc);
> size += __offset() - start_off;
> }
>
> That way, you are sure to have the correct size. And you only increase the size if you actually emit code.
Thank you @RealLucy for taking a look.
I have tried your suggestion however some of the jtreg tests are crashing at below line
# Internal Error (output.cpp:1799), pid=846930, tid=846947
# guarantee((int)(blk_starts[i+1] - blk_starts[i]) >= (current_offset - blk_offset)) failed: shouldn't increase block size
#
# JRE version: OpenJDK Runtime Environment (23.0) (build 23-internal-adhoc.root.jdk)
# Java VM: OpenJDK 64-Bit Server VM (23-internal-adhoc.root.jdk, mixed mode, sharing, tiered, compressed oops, compressed class ptrs, g1 gc, linux-s390x)
# Problematic frame:
# V [libjvm.so+0x9f8ce6] PhaseOutput::fill_buffer(CodeBuffer*, unsigned int*)+0x153e
> src/hotspot/cpu/s390/sharedRuntime_s390.cpp line 315:
>
>> 313: const int vregstosave_num = save_vectors ? (sizeof(RegisterSaver_LiveVRegs) /
>> 314: sizeof(RegisterSaver::LiveRegType))
>> 315: : 0;
>
> I'd like to have this calculation in only one place. Don't duplicate code, in particular when it's a calculation that must yield the same result.
Yes, I fix this.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/18162#discussion_r1540657605
PR Review Comment: https://git.openjdk.org/jdk/pull/18162#discussion_r1540659426
More information about the hotspot-dev
mailing list