RFR: 8309603: Deallocate hashtables in ClassLoaderData::unload [v3]
David Holmes
dholmes at openjdk.org
Tue Jul 25 00:46:08 UTC 2023
On Thu, 13 Jul 2023 00:03:14 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:
>
> Move package deallocation back to deconstructor
When do we delete the ClassLoaderData? Does moving this to unload time help with a specific problem? It seems odd to split the deallocation operations between unload and the destructor - why does unload not just call the destructor?
-------------
PR Comment: https://git.openjdk.org/jdk/pull/14820#issuecomment-1635124744
More information about the hotspot-runtime-dev
mailing list