On Fri, 19 Dec 2025 20:08:20 GMT, Chad Rakoczy <[email protected]> wrote:

> [JDK-8374045](https://bugs.openjdk.org/browse/JDK-8374045)
> 
> This PR adds a new utility tool CodeCacheFragmenter to help with testing 
> HotSpot code cache fragmentation scenarios. The tool is a Java agent that 
> uses the WhiteBox API to create and randomly free dummy code blobs in the 
> NonProfiled code heap to achieve a specified fill percentage. It includes 
> configurable parameters for blob sizes, target fill percentage (0-100%), and 
> random seeding to enable reproducible fragmentation patterns. The utility is 
> built via a standard Makefile and produces `codecachefragmenter.jar` which 
> can be used as a Java agent with `-javaagent` flag. This tool is intended for 
> performance testing and experimentation with code cache behavior under 
> various fragmentation conditions. The distribution of blob sizes aims to 
> represent real world nmethod sizes which are based on sizes from running 
> Renaissance benchmarks.
> 
> This is useful to show the performance benefits of 
> [JDK-8326205](https://bugs.openjdk.org/browse/JDK-8326205)
> 
> Distribution of nmethod size from Renaissance benchmarks:
> <img width="3570" height="1766" alt="renaissance_dis" 
> src="https://github.com/user-attachments/assets/cde9645a-38d3-4506-811f-646ced78715a";
>  />
> 
> Distribution of dummy blob size from CodeCacheFragmenter:
> <img width="3570" height="1766" alt="frag_new_dis" 
> src="https://github.com/user-attachments/assets/2c61cc0d-20a8-4ae0-af42-8cfc98271217";
>  />

This pull request has been closed without being integrated.

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

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

Reply via email to