RFR: 8311648: Refactor the Arena/Chunk/ChunkPool interface

Thomas Stuefe stuefe at openjdk.org
Fri Jul 7 12:47:53 UTC 2023


On Fri, 7 Jul 2023 12:05:54 GMT, Johan Sjölen <jsjolen at openjdk.org> wrote:

> Hi,
> 
> This PR refactors the Arena code without introducing any changes in behavior. I believe that this leads to a much clearer API and that this will in turn simplify the maintenance of this code. `Chunk` is now much more "dumb", mainly acting as a way of interrogating the chunk of data that it is holding. The `ChunkPool` gains a more prominent role, being entirely responsible for the memory allocation strategy used. `Arena` is basically unchanged, as it orchestrates the usage of these two APIs. The `chop` and `next_chop` methods are re-defined to be static inside of `Chunk`, having an object `delete` itself  is very surprising, so I'm happy to get rid of that.
> 
> I hope that you agree with me on these changes!
> 
> Cheers,
> Johan

Not sure if I get time to review, but this is appreciated. We tried to improve this several times in the past, but got stuck every time because of UseMallocOnly. Thank god we got rid of that.

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

PR Comment: https://git.openjdk.org/jdk/pull/14803#issuecomment-1625363472


More information about the hotspot-runtime-dev mailing list