Thanks, Alan ! Probably I should adopt VarHandle and use their int / long views... (for jdk11u).
Or adapt my arrays/off-heap buffers (struct like) using primitive objects JEP 401 for jdk17 ! It looks very promising as the Marlin renderer uses arrays of structs, packed in arrays or off-heap (edges, rle tile cache). Cheers, Laurent Le dim. 18 avr. 2021 à 09:11, Alan Bateman <alan.bate...@oracle.com> a écrit : > > On 17/04/2021 19:02, Laurent Bourgès wrote: > > Hi, > > In the Marlin renderer & in other Unsafe use cases (pixel tile > processing) > > for java2d pipelines, I do use putInt()/putLong() primitives even if the > > address is not aligned (to 4 or 8 bytes) to get faster processing of byte > > buffer or arrays... > > > > Is it possible in java (jdk internals) to query cpu capabilities like > > endianness, unaligned support ? > > > Since Marlin is in the JDK and using Unsafe already then can't it just > using the isBigEndian and unalignedAccess methods? The Buffer > implementation and a few places do the same. > > -Alan. >