diff -r e3618c902d17 -r eda750f21308 src/hotspot/share/oops/instanceKlass.cpp --- a/src/hotspot/share/oops/instanceKlass.cpp Mon Oct 14 11:36:17 2019 +0200 +++ b/src/hotspot/share/oops/instanceKlass.cpp Thu Oct 17 07:35:22 2019 -0400 @@ -2497,10 +2497,18 @@ #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() {