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

Chen Liang liach at openjdk.org
Thu Jul 20 08:22: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/0a426cd6...cb56e736

This patch merely allows `ByteArray` and `ByteArrayLittleEndian` to be used before `VarHandle` is ready. An example is the Classfile API (which will be used to generate `LambdaForm`s for `VarHandle`), as shown in #14637.

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

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


More information about the core-libs-dev mailing list