On Mon, 12 May 2025 18:33:03 GMT, Roger Riggs <rri...@openjdk.org> wrote:

>>> This use of Unsafe is not warranted. If it can't be done with arrayCopy, 
>>> leave the original code as is.
>> 
>> The core library also uses Unsafe.copyMemory in many places. Can it be used 
>> in this scenario? Or can we find other ways to copy char[] to byte[]?
>
> You may have overlooked the behavior of putChar to swap the order of the 
> bytes depending on whether its big or little endian.

There is no endianness issue here. The byte[] of StringUTF16 has the same 
endianness order in memory as char[].

The Unsafe::CopyMemory operation here is the same as the Unsafe::putChar and 
StringUTF16::putChar operation on StringUTF16 byte[], so there is no endianness 
issue.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24773#discussion_r2085638167

Reply via email to