RFR: 8299576: Reimplement java.io.Bits using VarHandle access [v5]
Raffaello Giulietti
rgiulietti at openjdk.org
Thu Jan 5 11:08:52 UTC 2023
On Wed, 4 Jan 2023 14:37:34 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
AFAIU from the doc, for `get()` and `set()` access modes as used here, a misalignment is not a problem and will not throw `IllegalStateException`.
-------------
PR: https://git.openjdk.org/jdk/pull/11840
More information about the core-libs-dev
mailing list