[foreign-memaccess] RFR: 8252770: MemorySegment::allocateNative should honor direct memory limits
Maurizio Cimadamore
mcimadamore at openjdk.java.net
Thu Sep 3 14:23:08 UTC 2020
Currently, `MemorySegment::allocateNative` does not honor the memory limits set for direct buffers
(`-XX:MaxDirectMemorySize` and `-XX:+PageAlignDirectMemory`).This patch rectifies that. The changes are pretty simple,
the main issue was that most of the methods are defined away in the `Bits` class which belongs to the nio package, so
the usual access dance was necessary.
Since segments can already be allocated with an alignment, I slightly tweaked the alignment logic to compute the max
between page size and requested alignment, in case the option for aligning direct memory chunks to page boundaries is
set.
Tweak NativeMemorySegmentImpl to respect direct memory settings
-------------
Commit messages:
- Tweak NativeMemorySegmentImpl to respect direct memory settings
Changes: https://git.openjdk.java.net/panama-foreign/pull/306/files
Webrev: https://webrevs.openjdk.java.net/?repo=panama-foreign&pr=306&range=00
Issue: https://bugs.openjdk.java.net/browse/JDK-8252770
Stats: 53 lines in 7 files changed: 39 ins; 6 del; 8 mod
Patch: https://git.openjdk.java.net/panama-foreign/pull/306.diff
Fetch: git fetch https://git.openjdk.java.net/panama-foreign pull/306/head:pull/306
PR: https://git.openjdk.java.net/panama-foreign/pull/306
More information about the panama-dev
mailing list