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

Alan Bateman alanb at openjdk.org
Thu Jul 20 06:19:46 UTC 2023


On Thu, 13 Jul 2023 23:05:48 GMT, Glavo <duke at openjdk.org> wrote:

>> `ByteArray` and `ByteArrayLittleEndian` are very useful tool classes that can be used in many places to performance tuning.
>> 
>> Currently they are implemented by `VarHandle`, so using them may have some impact on startup time.
>> 
>> This PR reimplements them using `Unsafe`, which reduces the impact on startup time.
>
> Glavo has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains 15 additional commits since the last revision:
> 
>  - Merge branch 'openjdk:master' into unsafe
>  - add 8310843 to @bug
>  - Merge branch 'openjdk:master' into unsafe
>  - Merge branch 'openjdk:master' into unsafe
>  - delete incorrect comments
>  - delete extraneous whitespace
>  - add javadoc
>  - delete extraneous whitespace
>  - fix test
>  - update tests
>  - ... and 5 more: https://git.openjdk.org/jdk/compare/1673465d...cb56e736

I don't think this change should be integrated without further discussion on what problems you are running into. Code that runs is initPhase1 needs to have as few dependences as possible and can use Unsafe directly when needed.

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

PR Comment: https://git.openjdk.org/jdk/pull/14636#issuecomment-1643312489


More information about the core-libs-dev mailing list