On Thu, 11 Apr 2024 00:38:11 GMT, Sandhya Viswanathan 
<sviswanat...@openjdk.org> wrote:

>> Scott Gibbons has updated the pull request incrementally with one additional 
>> commit since the last revision:
>> 
>>   Add movq to locate_operand
>
> src/hotspot/cpu/x86/macroAssembler_x86.cpp line 5988:
> 
>> 5986:     movw(Address(to, 0), value);
>> 5987:     addptr(to, 2);
>> 5988:     subptr(count, 1<<(shift-1));
> 
> At line 5968 also we need the change from cmpl to cmpptr.
> cmpl(count, 2<<shift); // Short arrays (< 8 bytes) fill by element

Will do.

> src/hotspot/cpu/x86/macroAssembler_x86.cpp line 6050:
> 
>> 6048:           vpbroadcastd(xtmp, xtmp, Assembler::AVX_512bit);
>> 6049: 
>> 6050:           subptr(count, 16 << shift);
> 
> At line 6045 also the cmpl should change to cmpptr:
> cmpl(count, VM_Version::avx3_threshold());

Will do.

> src/hotspot/cpu/x86/stubGenerator_x86_64_arraycopy.cpp line 2497:
> 
>> 2495: //
>> 2496: address StubGenerator::generate_unsafe_setmemory(const char *name,
>> 2497:                                                  address 
>> byte_fill_entry) {
> 
> Need to add UnsafeSetMemoryMark on similar lines as UnsafeCopyMemoryMark to 
> handle page error.

Will do.

> src/hotspot/cpu/x86/stubGenerator_x86_64_arraycopy.cpp line 2522:
> 
>> 2520: #define rScratch3 r8
>> 2521: #undef rScratch4
>> 2522: #define rScratch4 r11
> 
> We could do this setup using const Register declaration instead of using 
> #undef/#define pair.

We discussed this and the #define option was your preferred method since the 
registers are being re-used.  Do you want this changed back again?

> src/hotspot/share/opto/library_call.cpp line 4950:
> 
>> 4948: 
>> 4949: bool LibraryCallKit::inline_unsafe_setMemory() {
>> 4950:   if (callee()->is_static())  return false;  // caller must have the 
>> capability!
> 
> Also need to return false if StubRoutines::unsafe_setmemory() == nullptr.

Will do.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/18555#discussion_r1561128613
PR Review Comment: https://git.openjdk.org/jdk/pull/18555#discussion_r1561128862
PR Review Comment: https://git.openjdk.org/jdk/pull/18555#discussion_r1561129186
PR Review Comment: https://git.openjdk.org/jdk/pull/18555#discussion_r1561128151
PR Review Comment: https://git.openjdk.org/jdk/pull/18555#discussion_r1561130102

Reply via email to