RFR: JDK-8257588: Make os::_page_sizes a set [v2]

Thomas Stuefe stuefe at openjdk.java.net
Thu Dec 3 08:40:17 UTC 2020


> Hi,
> 
> may I please have reviews for the following very small improvement:
> 
> While discussing JDK-8243315 [1], and aiming to make planned changes like JDK-8256155 [2] easier:
> 
> size_t os::_page_sizes[os::page_sizes_max];
> 
> is an array used to keep all page sizes the hotspot can use. It is sorted by size and filled in at initialization time.
> 
> Coding dealing with this can be simplified by making this a set (which is very easy since all page sizes are power-2-values so they lend themselves nicely to a bitmap).
> 
> That has the following advantages:
> - makes adding new sizes simple since we do not have to re-sort the array. Coding is easier to read too.
> - it makes it possible to encode a set of page sizes in one number, so we can hand a set-of-page-sizes around as a value.
> 
> -----
> 
> The patch adds a new class, os::PagesizeSet, which is a bitmap containing page sizes. It adds gtests for this class. It replaces the old os::_page_sizes with an object of that class. It also removes an unused function.
> 
> 
> Testing:
> - nightlies at SAP
> - manual tests with UseLargePages
> - the new gtests
> - gh actions (with x86 still failing because of unrelated issues)
> 
> Thank you,
> 
> Thomas
> 
> [1] https://bugs.openjdk.java.net/browse/JDK-8243315
> [2] https://bugs.openjdk.java.net/browse/JDK-8256155

Thomas Stuefe has updated the pull request incrementally with one additional commit since the last revision:

  Fix 32bit issues

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/1522/files
  - new: https://git.openjdk.java.net/jdk/pull/1522/files/7014f81e..9e936bcf

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=1522&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=1522&range=00-01

  Stats: 95 lines in 2 files changed: 39 ins; 29 del; 27 mod
  Patch: https://git.openjdk.java.net/jdk/pull/1522.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/1522/head:pull/1522

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


More information about the hotspot-dev mailing list