RFR: 8310843: Reimplement ByteArray and ByteArrayLittleEndian with Unsafe [v2]

Chen Liang liach at openjdk.org
Mon Aug 12 00:47:40 UTC 2024


On Mon, 10 Jun 2024 03:51:40 GMT, Glavo <duke at openjdk.org> wrote:

>> Things have changed since https://github.com/openjdk/jdk/pull/14636 was closed, so let me reopen it.
>> 
>> https://github.com/openjdk/jdk/pull/15386 confirmed that `VarHandle` in BALE caused a startup regression. In order to not have any more revert patches, it makes sense to optimize BALE.
>> 
>> The optimization of https://github.com/openjdk/jdk/pull/16245 allows the traditional expression to have good performance, but BA and BALE save us from having to copy these lengthy expressions everywhere. So it makes sense to keep them.
>> 
>> Now here's the question, should I rewrite this PR without `Unsafe`? I'll do some research (e.g. does `Unsafe` have better performance during warmup?), but I'd also like to take some advice.
>
> Glavo has updated the pull request incrementally with one additional commit since the last revision:
> 
>   update copyright

With merge stores, you can probably reimplement these two classes with direct array writes instead of Unsafe, for ease of maintenance.

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

PR Comment: https://git.openjdk.org/jdk/pull/19616#issuecomment-2282957595


More information about the core-libs-dev mailing list