On Thu, 25 Jul 2024 23:36:46 GMT, Jorn Vernee <jver...@openjdk.org> wrote:
>> Migrate from using Unsafe to FFM's MemorySegment API for allocating and >> setting native memory. >> This code is used by Metal, OpenGL and D3D, so I manually tested SwingSet2 >> and J2Demo as well as running all the usual tests. >> I also did some micro-benchmarking on the performance of Unsafe vs >> MemorySegment. >> The performance of either is more than sufficient for us .. ie they could be >> 10x slower and we wouldn't even notice. >> But they are in the same ballpark, and if one or the other is clearly faster >> it is the new FFM code. > > src/java.desktop/share/classes/sun/java2d/pipe/RenderBuffer.java line 73: > >> 71: private final long baseAddress; >> 72: private long curOffset; >> 73: private final int capacity; > > You could perhaps drop the `capacity` field, and use `segment.byteSize()` in > it's place. P.S. same for `baseAddress` I think. Looks like it's only used in `getAddress` now. Could replace with `segment.address()`. ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/20339#discussion_r1692295777