RFR: 8311248: Refactor CodeCache::initialize_heaps to simplify adding new CodeCache segments [v2]

Boris Ulasevich bulasevich at openjdk.org
Sat Jan 6 14:05:33 UTC 2024


> The change simplifies the CodeCache::initialize_heaps segment memory split logic while preserving the existing layout:
> 
>   if (!non_nmethod_set && !profiled_set && !non_profiled_set) {
>     ...
>   } else if (!non_nmethod_set || !profiled_set || !non_profiled_set) {
>     if (non_profiled_set) {
>       if (!profiled_set) {
>         ...
>       }
>     } else if (profiled_set) {
>       ...
>     } else if (non_nmethod_set) {
>       ...
>     }
>   }
> 
> -->
> 
>   if (!profiled.set && !non_profiled.set) {
>     ..
>   }
>   if (profiled.set && !non_profiled.set) {
>     ..
>   }
>   if (!profiled.set && non_profiled.set) {
>     ..
>   }
>   if (!non_nmethod.set && profiled.set && non_profiled.set) {
>     ..
>   }
> 
> 
> With this change, PrintFlagsFinal shows the actual segment sizes (not an intermediate value before alignment), and the segments completely fill the ReservedCodeCacheSize (no wasted page due to final down alignment).

Boris Ulasevich has refreshed the contents of this pull request, and previous commits have been removed. The incremental views will show differences compared to the previous content of the PR. The pull request contains one new commit since the last revision:

  cleanup & test udpdate

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/17244/files
  - new: https://git.openjdk.org/jdk/pull/17244/files/588f9820..d1415359

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=17244&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=17244&range=00-01

  Stats: 21 lines in 1 file changed: 9 ins; 8 del; 4 mod
  Patch: https://git.openjdk.org/jdk/pull/17244.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17244/head:pull/17244

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


More information about the hotspot-dev mailing list