RFR: 8349146: [REDO] Implement a better allocator for downcalls [v8]

Maurizio Cimadamore mcimadamore at openjdk.org
Fri May 2 11:52:51 UTC 2025


On Fri, 2 May 2025 11:45:33 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:

>> src/java.base/share/classes/jdk/internal/foreign/BufferStack.java line 127:
>> 
>>> 125:                     arena,
>>> 126:                     new SlicingAllocator(arena.allocate(byteSize, byteAlignment)),
>>> 127:                     new CleanupAction(arena));
>> 
>> any reason why you didn't use a lambda here?
>
> Also, not a big fan of records here -- it seems that many implementation details such as cleanup action, lock and slicing allocator are "leaked out" to the caller, that is now responsible to set things up correctly. I think a `PerThread` class with a constructor taking arena, size, alignment would make the code less coupled and more readable.

And, if you do that, you then don't need the `of` factory -- clients can just use `new`

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

PR Review Comment: https://git.openjdk.org/jdk/pull/24829#discussion_r2071498324


More information about the core-libs-dev mailing list