src/hotspot/share/oops/instanceKlass.cpp
changeset 58668 eda750f21308
parent 58447 319173c62caa
child 58679 9c3209ff7550
child 58722 cba8afa5cfed
equal deleted inserted replaced
58664:e3618c902d17 58668:eda750f21308
  2495   event.set_definingClassLoader(ik->class_loader_data());
  2495   event.set_definingClassLoader(ik->class_loader_data());
  2496   event.commit();
  2496   event.commit();
  2497 #endif
  2497 #endif
  2498 }
  2498 }
  2499 
  2499 
       
  2500 static void method_release_C_heap_structures(Method* m) {
       
  2501   m->release_C_heap_structures();
       
  2502 }
       
  2503 
  2500 void InstanceKlass::release_C_heap_structures(InstanceKlass* ik) {
  2504 void InstanceKlass::release_C_heap_structures(InstanceKlass* ik) {
  2501   // Clean up C heap
  2505   // Clean up C heap
  2502   ik->release_C_heap_structures();
  2506   ik->release_C_heap_structures();
  2503   ik->constants()->release_C_heap_structures();
  2507   ik->constants()->release_C_heap_structures();
       
  2508 
       
  2509   // Deallocate and call destructors for MDO mutexes
       
  2510   ik->methods_do(method_release_C_heap_structures);
       
  2511 
  2504 }
  2512 }
  2505 
  2513 
  2506 void InstanceKlass::release_C_heap_structures() {
  2514 void InstanceKlass::release_C_heap_structures() {
  2507   // Can't release the constant pool here because the constant pool can be
  2515   // Can't release the constant pool here because the constant pool can be
  2508   // deallocated separately from the InstanceKlass for default methods and
  2516   // deallocated separately from the InstanceKlass for default methods and