RFR: 8252041: G1: Fix incorrect uses of HeapRegionManager::max_length

Thomas Schatzl tschatzl at openjdk.java.net
Wed Sep 16 12:59:36 UTC 2020


Hi all,

  can I have reviews for this change that fixes some uses of HeapRegionManager::max_regions()/max_expandable_regions() in
  our code to use the correct variant?

HeapRegionManager::max_length gives the absolute maximum number of regions reserved for the heap based on the
reservation.

HeapRegionmanager::max_expandable_regions() returns the maximum number of regions the heap can grow to (can be
committed).

Typically they are exchangeable, but if the reservation is larger than what -Xmx allows (like when file-mapping old
gen), this is not the case, and causes assertions. In some cases the existing region manager code could (if it reserved
more than -Xmx) give back more than -Xmx allows.

Testing: tier1-5.

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

Commit messages:
 - Initial import

Changes: https://git.openjdk.java.net/jdk/pull/178/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=178&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8252041
  Stats: 45 lines in 6 files changed: 15 ins; 0 del; 30 mod
  Patch: https://git.openjdk.java.net/jdk/pull/178.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/178/head:pull/178

PR: https://git.openjdk.java.net/jdk/pull/178



More information about the hotspot-gc-dev mailing list