[foreign-abi] RFR: 8241017: Enhance AllocationScope to support "unbounded" mode

Henry Jen henryjen at openjdk.java.net
Fri Mar 13 19:59:17 UTC 2020


On Fri, 13 Mar 2020 16:29:26 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:

> This patch adds support for allocation scopes whose size is not known statically; as such these new unbounded
> allocation scope can be used in more dynamic use cases where e.g. the amount of memory to be allocated depends on the
> result of other native calls.  Internally, the bounded version works as before, and is the more optimized. The
> unbounded version is similar in spirit to the old Panama/foreign scope - where new segments are allocated depending on
> needs.  I've enhanced the existing test covering allocation scopes to also cover the unbounded variants, as well as the
> bounded.

src/jdk.incubator.foreign/share/classes/jdk/internal/foreign/UnboundedAllocationScope.java line 76:

> 75:                 usedSegments.add(segment);
> 76:                 segment = segmentFactory.apply(BLOCK_SIZE);
> 77:             }

So we have a hard limit of allocation size no larger then 4K, is the intentional?

I would like to see what we have for NativeScope  in the foreign-branch for unbounded, when allocation larger than the
block, we can just allocate it and give back that as a single-used MS.

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

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


More information about the panama-dev mailing list