[foreign-memaccess+abi] RFR: 8274287: Add a way to specify block size of unbounded arena allocator

Maurizio Cimadamore mcimadamore at openjdk.java.net
Fri Sep 24 14:42:16 UTC 2021


On Fri, 24 Sep 2021 14:29:33 GMT, Jorn Vernee <jvernee at openjdk.org> wrote:

>> Following the discussion here:
>> 
>> https://mail.openjdk.java.net/pipermail/panama-dev/2021-May/013815.html
>> 
>> This patch renames arena allocator factories, to make room for new unbounded factory which allows clients to specify a custom block size.
>
> src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SegmentAllocator.java line 399:
> 
>> 397:      *     and set {@code S = S'}; the allocator then tries to respond to the same allocation request again.
>> 398:      *     <li>if the size of the allocation requests is bigger than the size of {@code S}, allocate a new segment {@code S'}
>> 399:      *     (using malloc), which has a sufficient size to satisfy the allocation request, and return {@code S'}.
> 
> Instead of mentioning `malloc` here, I think it's better to say something like "using MemorySegment::allocateNative", so as not to over-specify (e.g. in case we want to change the allocator).

true - well spotted

> src/jdk.incubator.foreign/share/classes/jdk/incubator/foreign/SegmentAllocator.java line 418:
> 
>> 416:      * than the thread owning {@code scope}.
>> 417:      */
>> 418:     static SegmentAllocator arenaUnbounded(long blockSize, ResourceScope scope) {
> 
> Would be good to check if `blockSize > 0` here I think (and add javadoc, test for that).

Will do

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

PR: https://git.openjdk.java.net/panama-foreign/pull/583


More information about the panama-dev mailing list