RFR: 8311248: Refactor CodeCache::initialize_heaps to simplify adding new CodeCache segments [v7]
Boris Ulasevich
bulasevich at openjdk.org
Thu Mar 7 11:25:57 UTC 2024
On Mon, 19 Feb 2024 20:38:22 GMT, Evgeny Astigeevich <eastigeevich at openjdk.org> wrote:
>> Boris Ulasevich has updated the pull request incrementally with one additional commit since the last revision:
>>
>> minor update. removed helper function as it caused many comments in the review
>
> src/hotspot/share/code/codeCache.cpp line 316:
>
>> 314: // Note: if large page support is enabled, min_size is at least the large
>> 315: // page size. This ensures that the code cache is covered by large pages.
>> 316: non_nmethod.size = align_up(non_nmethod.size, min_size);
>
> A potential problem here: code heap sizes are `min_size` aligned but `cache_size` might be not.
I added an alignment. thanks
> src/hotspot/share/code/codeCache.cpp line 336:
>
>> 334: // Tier 2 and tier 3 (profiled) methods
>> 335: add_heap(profiled_space, "CodeHeap 'profiled nmethods'", CodeBlobType::MethodProfiled);
>> 336: }
>
> A redundant check: the non-profiled code heap is always enabled.
Redundant check makes no harm. More questions would be raised without the check. Let me leave the check (this and one below) and provide a comment.
if (profiled.enabled) {
check_min_size("profiled code heap", profiled.size, min_size);
}
if (non_profiled.enabled) { // non_profiled.enabled is always ON for segmented code heap, leave it checked for clarity
check_min_size("non-profiled code heap", non_profiled.size, min_size);
}
if (cache_size_set) {
check_min_size("reserved code cache", cache_size, min_cache_size);
}
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/17244#discussion_r1515993234
PR Review Comment: https://git.openjdk.org/jdk/pull/17244#discussion_r1515996268
More information about the hotspot-dev
mailing list