RFR: 8309603: Deallocate hashtables in ClassLoaderData::unload [v4]

Coleen Phillimore coleenp at openjdk.org
Thu Jul 27 19:28:42 UTC 2023


On Tue, 25 Jul 2023 00:46:08 GMT, Chad Rakoczy <duke at openjdk.org> wrote:

>> [JDK-8309603](https://bugs.openjdk.org/browse/JDK-8309603)
>> 
>> Memory is released in `ClassLoaderdata::~ClassLoaderData` for the dictionary and module hashtables but they could be deleted earlier in `ClassLoaderdata::unload`. Since we're unloading the class loader is no longer being used for lookup.
>> 
>> Additional testing:
>> - [x] Linux x86_64 fastdebug `tier2`
>> - [x] Linux x86_64 release `tier2`
>> - [x] Linux x86_64 fastdebug `gtest:all`
>> - [x] Linux x86_64 release `gtest:all`
>> - [x] Linux x86_64 fastdebug `test/hotspot/jtreg/runtime`
>> - [x] Linux x86_64 release `test/hotspot/jtreg/runtime`
>
> Chad Rakoczy has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Unload packages in unload

This looks good.  While it's nicer to remove these in the destructor, this releases memory more eagerly for class unloading without waiting for a safepoint.

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

Marked as reviewed by coleenp (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/14820#pullrequestreview-1550607987


More information about the hotspot-runtime-dev mailing list