RFR: 8330076: [NMT] add/make a mandatory MEMFLAGS argument to family of os::reserve/commit/uncommit memory API [v12]

Afshin Zafari azafari at openjdk.org
Fri Apr 19 09:09:29 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.

Afshin Zafari has updated the pull request incrementally with one additional commit since the last revision:

  local/param `flags` renamed to `alloc_type` to let have `MEMFLAGS flag` param.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/18745/files
  - new: https://git.openjdk.org/jdk/pull/18745/files/33f2cf69..2989e3a3

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=18745&range=11
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=18745&range=10-11

  Stats: 12 lines in 1 file changed: 0 ins; 0 del; 12 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