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

Afshin Zafari azafari at openjdk.org
Mon Apr 15 15:35:56 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:

  mtNone is not used anymore as default for optional args.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/18745/files
  - new: https://git.openjdk.org/jdk/pull/18745/files/a3940639..930d2748

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

  Stats: 109 lines in 19 files changed: 23 ins; 9 del; 77 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