RFR: 8299576: Reimplement java.io.Bits using VarHandle access [v6]

Uwe Schindler uschindler at openjdk.org
Thu Jan 5 12:35:53 UTC 2023


On Thu, 5 Jan 2023 12:18:58 GMT, Per Minborg <pminborg at openjdk.org> wrote:

>> Currently, `java.io.Bits` is using explicit logic to read/write various primitive types to/from byte arrays. Switching to the use of `VarHandle` access would provide better performance and less code. 
>> 
>> Also, using a standard API for these conversions means future `VarHandle` improvements will benefit `Bits` too. 
>> 
>> Improvements in `Bits` will propagate to `ObjectInputStream`, `ObjectOutputStream` and `RandomAccessFile`.
>> 
>> Initial benchmarks and performance discussions can be found here: https://github.com/openjdk/panama-foreign/pull/762
>
> Per Minborg has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Use canonical NaN values also for read

As said before, for reads, the native varhandles can be used. There is also no separate "longBitsToRawDouble". What was the reason to add the latest commit?

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

PR: https://git.openjdk.org/jdk/pull/11840


More information about the core-libs-dev mailing list