[foreign-memaccess+abi] RFR: 8301801: Implement arena-centric API [v4]
Maurizio Cimadamore
mcimadamore at openjdk.org
Fri Feb 10 13:58:51 UTC 2023
> This patch implements the API proposal described here:
>
> https://cr.openjdk.java.net/~mcimadamore/panama/scoped_arenas.html
>
> The main changes are:
>
> * Static factories `MemorySegment::allocateNative` are gone;
> * The static factory `SegmentAllocator::nativeAllocator` is also gone;
> * `SegmentScope` moved as nested class in `MemorySegment` (e.g. `MemorySegment.Scope`);
> * Tweak methods accepting `SegmentScope` to accept `Arena` instead;
> * Simplify `Arena` API, by removing predicates (`isCloseable`/`isAccessibleBy`) and by dropping `whileAlive`;
> * Change arena factories to use `of` prefix instead of `open` - and rename `auto()` to `ofAuto()`.
>
> The API changes are rather straightforward, but they lead to several shallow test and microbenchmark changes, so the number of affected file is quite big (mostly because of the rename `openConfined` -> `ofConfined`).
>
> A javadoc of the proposed changes is available here:
>
> http://cr.openjdk.java.net/~mcimadamore/panama/scoped_arena_interface_lump_predicates/
Maurizio Cimadamore has updated the pull request incrementally with one additional commit since the last revision:
Clarify lifetime of segments which wrap external resources.
-------------
Changes:
- all: https://git.openjdk.org/panama-foreign/pull/781/files
- new: https://git.openjdk.org/panama-foreign/pull/781/files/3bca4423..d6478f50
Webrevs:
- full: https://webrevs.openjdk.org/?repo=panama-foreign&pr=781&range=03
- incr: https://webrevs.openjdk.org/?repo=panama-foreign&pr=781&range=02-03
Stats: 199 lines in 11 files changed: 89 ins; 33 del; 77 mod
Patch: https://git.openjdk.org/panama-foreign/pull/781.diff
Fetch: git fetch https://git.openjdk.org/panama-foreign pull/781/head:pull/781
PR: https://git.openjdk.org/panama-foreign/pull/781
More information about the panama-dev
mailing list