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

Evgeny Astigeevich eastigeevich at openjdk.org
Mon Jan 22 19:56:30 UTC 2024


On Thu, 18 Jan 2024 17:08:29 GMT, Boris Ulasevich <bulasevich at openjdk.org> wrote:

>> These changes clean up the logic and the code of allocating codecache segments and add more testing of it, to open a door for further optimization of code cache segmentation.  The goal was to keep the behavior as close to the existing behavior as possible, even if it's not quite logical.
>> 
>> Also, these changes better account for alignment - PrintFlagsFinal shows the final aligned segment sizes, and the segments fill the ReservedCodeCacheSize without gaps caused by 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:
> 
>   apply suggestions

src/hotspot/share/code/codeCache.cpp line 264:

> 262:   size_t compiler_buffer_size = 0;
> 263:   COMPILER1_PRESENT(compiler_buffer_size += CompilationPolicy::c1_count() * Compiler::code_buffer_size());
> 264:   COMPILER2_PRESENT(compiler_buffer_size += CompilationPolicy::c2_count() * C2Compiler::initial_code_buffer_size());

We can move the code inside the following IF.
We can move ` size_t non_nmethod_min_size = min_cache_size` before the IF and adjust it in the IF.
This could be simplified with `CodeHeapInfo::min_size`.

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

PR Review Comment: https://git.openjdk.org/jdk/pull/17244#discussion_r1462346756


More information about the hotspot-dev mailing list