RFR 8210856: Move InstanceKlass DependencyContext cleaning to SystemDictionary::do_unloading()

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Tue Sep 25 16:08:21 UTC 2018

On 9/24/18 6:05 PM, dean.long at oracle.com wrote:
> Hi Coleen.  The fix seems straightforward now, so I'm wondering, was 
> there something that changed since the earlier JDK-8143408 was fixed 
> that allows us to do this simpler fix now, like walking classes in 
> ClassLoaderData::unload?

I think this fix could have been done instead for JDK-8143408, but the 
code for DependencyContext::remove_all_dependents() was originally added 
where the code for cleaning the nmethod buckets was in version 8139595, 
and it was just fixed at that location for 8143408.   At least, that's 
what I'm guessing from the history.
> dl
> On 9/21/18 8:45 AM, coleen.phillimore at oracle.com wrote:
>> Summary: Already walk classes in ClassLoaderData::unload so 
>> generalize to also clean nmethod dependencies.
>> The nmethod dependencies should be cleaned before metadata is 
>> purged.  See bug for more details.
>> open webrev at http://cr.openjdk.java.net/~coleenp/8210856.01/webrev
>> bug link https://bugs.openjdk.java.net/browse/JDK-8210856
>> Tested with hs tier1-7, modified gtest, and 
>> compiler/codecache/stress/RandomAllocationTest.java from bug 
>> https://bugs.openjdk.java.net/browse/JDK-8143408.
>> Thanks,
>> Coleen

More information about the hotspot-dev mailing list