RFR: 8339573: Update CodeCacheSegmentSize and CodeEntryAlignment for ARM

Boris Ulasevich bulasevich at openjdk.org
Mon Sep 9 22:40:04 UTC 2024


On Mon, 9 Sep 2024 19:11:44 GMT, Vladimir Kozlov <kvn at openjdk.org> wrote:

> The warning is about huge freelist which is scanned linearly to find corresponding free space in CodeCache for next allocation. It is become big with tiered compilation because we do a lot of C1 compiled code which is replaced with C2 compiled code.

With Segmented Code Cache we have separate freelists for profiled and non-profiled heap. So I think there is no need to correct segment size for tiered compilation.

> But it is still using linked list for free segments. Should we consider something more complex? Or it is not an issue?

This can indeed be a problem. CodeHeap allocation takes about 1% of the total compilation time. Here is my statistic for 50K compiled methods:
before: total_compilation_time(s): 370, total_allocation_time(s): 1.6
after:  total_compilation_time(s): 378, total_allocation_time(s): 3.4

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

PR Comment: https://git.openjdk.org/jdk/pull/20864#issuecomment-2339273224


More information about the hotspot-dev mailing list