RFR: 8329331: Intrinsify Unsafe::setMemory [v11]

Scott Gibbons sgibbons at openjdk.org
Thu Apr 11 21:00:45 UTC 2024


On Thu, 11 Apr 2024 20:08:18 GMT, Sandhya Viswanathan <sviswanathan at openjdk.org> wrote:

>> Scott Gibbons has updated the pull request incrementally with one additional commit since the last revision:
>> 
>>   Fix whitespace error.
>
> src/hotspot/cpu/aarch64/stubGenerator_aarch64.cpp line 8343:
> 
>> 8341:       UnsafeCopyMemory::create_table(8);
>> 8342:     }
>> 8343: 
> 
> Did you mean to initialize UnsafeSetMemory::_table here instead?

Yes.  Good catch.

> src/hotspot/cpu/x86/stubGenerator_x86_64_arraycopy.cpp line 155:
> 
>> 153:   StubRoutines::_arrayof_jint_fill = generate_fill(T_INT, true, "arrayof_jint_fill");
>> 154: 
>> 155: // #ifdef _LP64
> 
> We could remove the #ifdef _LP64, #endif commented pair.

Done.

> src/hotspot/cpu/x86/stubGenerator_x86_64_arraycopy.cpp line 735:
> 
>> 733: 
>> 734:   if (MaxVectorSize == 64) {
>> 735:     UnsafeCopyMemoryMark ucmm(this, !is_oop && !aligned, false, ucme_exit_pc);
> 
> This is not related to Unsafe::setMemory?

No.  Reviewing the code I saw this as a potential error, as `arraycopy_avx3_large` could cause a SIGBUS which wouldn't be caught.  It conforms to the other instances of copy in the code.  I think it was missed by the original developer.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/18555#discussion_r1561687577
PR Review Comment: https://git.openjdk.org/jdk/pull/18555#discussion_r1561688018
PR Review Comment: https://git.openjdk.org/jdk/pull/18555#discussion_r1561695561


More information about the core-libs-dev mailing list