8232112: MDO extra_data_lock leaks during class unloading

Call the MDO destructor during class unloading.

Reviewed-by: dholmes, eosterlund
This commit is contained in:
Coleen Phillimore 2019-10-17 07:35:22 -04:00
parent d8c6516c92
commit 86fdbc0f85
4 changed files with 21 additions and 6 deletions

View file

@ -2497,10 +2497,18 @@ void InstanceKlass::unload_class(InstanceKlass* ik) {
#endif
}
static void method_release_C_heap_structures(Method* m) {
m->release_C_heap_structures();
}
void InstanceKlass::release_C_heap_structures(InstanceKlass* ik) {
// Clean up C heap
ik->release_C_heap_structures();
ik->constants()->release_C_heap_structures();
// Deallocate and call destructors for MDO mutexes
ik->methods_do(method_release_C_heap_structures);
}
void InstanceKlass::release_C_heap_structures() {