RFR: 8330076: [NMT] add/make a mandatory MEMFLAGS argument to family of os::reserve/commit/uncommit memory API
Afshin Zafari
azafari at openjdk.org
Thu Apr 11 15:59:50 UTC 2024
`MEMFLAGS flag` is used to hold/show the type of the memory regions in NMT. Each call of NMT API requires a search through the list of memory regions.
The Hotspot code reserves/commits/uncommits memory regions and later calls explicitly NMT API with a specific memory type (e.g., `mtGC`, `mtJavaHeap`) for that region. Therefore, there are two search in the list of regions per reserve/commit/uncommit operations, one for the operation and another for setting the type of the region.
When the memory type is passed in during reserve/commit/uncommit operations, NMT can use it and avoid the extra search for setting the memory type.
Tests: tiers1-5 passed on linux-x64, macosx-aarch64 and windows-x64 for debug and non-debug builds.
-------------
Commit messages:
- 8330076: [NMT] add/make a mandatory MEMFLAGS argument to family of os::reserve/commit/uncommit memory API
- some missed changes
- reserve memory functions are also updated to have mandatory MEMFLAGS.
- uncommit has also mandatory MEMFLAGS arg
- virtual memory commit has mandatory MEMFLAGS arg.
Changes: https://git.openjdk.org/jdk/pull/18745/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=18745&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8330076
Stats: 299 lines in 59 files changed: 13 ins; 39 del; 247 mod
Patch: https://git.openjdk.org/jdk/pull/18745.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/18745/head:pull/18745
PR: https://git.openjdk.org/jdk/pull/18745
More information about the shenandoah-dev
mailing list