RFR: 8337217: Port VirtualMemoryTracker to use VMATree [v28]

Afshin Zafari azafari at openjdk.org
Sun Feb 23 17:17:44 UTC 2025


> - `VMATree` is used instead of `SortedLinkList` in new class `VirtualMemoryTrackerWithTree`.
>  -  A wrapper/helper `RegionTree` is made around VMATree to make some calls easier.
>  -  Both old and new versions exist in the code and can be selected via `MemTracker::set_version()`
>  - `find_reserved_region()` is used in 4 cases, it will be removed in further PRs.
>  - All tier1 tests pass except one ~that expects a 50% increase in committed memory but it does not happen~  https://bugs.openjdk.org/browse/JDK-8335167.
>  - Adding a runtime flag for selecting the old or new version can be added later.
>  - Some performance tests are added for new version, VMATree and Treap, to show the idea and should be improved later. Based on the results of comparing speed of VMATree and VMT, VMATree shows ~40x faster response time.

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

  removed remaining of the unrelated changes.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/20425/files
  - new: https://git.openjdk.org/jdk/pull/20425/files/a89a013e..39f7482a

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=20425&range=27
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=20425&range=26-27

  Stats: 160 lines in 5 files changed: 4 ins; 147 del; 9 mod
  Patch: https://git.openjdk.org/jdk/pull/20425.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/20425/head:pull/20425

PR: https://git.openjdk.org/jdk/pull/20425


More information about the hotspot-dev mailing list