RFR: 8349146: [REDO] Implement a better allocator for downcalls [v6]
Maurizio Cimadamore
mcimadamore at openjdk.org
Thu May 1 10:27:48 UTC 2025
On Wed, 30 Apr 2025 15:33:52 GMT, Per Minborg <pminborg at openjdk.org> wrote:
>> This PR is based on the work of @mernst-github and aims to implement an _internal_ thread-local 'stack' allocator, which works like a dynamically sized arena, but with reset functionality to reset the allocated size back to a certain level. The underlying memory could stay around between calls, which could improve performance.
>>
>> Re-allocated segments are not zeroed between allocations.
>
> Per Minborg has updated the pull request incrementally with one additional commit since the last revision:
>
> Improve on comments
test/micro/org/openjdk/bench/java/lang/foreign/CallOverheadByValue.java line 87:
> 85: public void byValue() throws Throwable {
> 86: // point = unit();
> 87: MemorySegment unused = (MemorySegment) MH_UNIT_BY_VALUE.invokeExact(
This benchmark is a bit misleading, because the allocator object will add some noise in the mix. I suggest to have some allocator object ready in a field, and just pass that (avoiding the lambda). That would also be more similar to idiomatic FFM code (which assumes some allocator is already available at the callsite).
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/24829#discussion_r2070131376
More information about the core-libs-dev
mailing list