comparison src/share/vm/memory/genCollectedHeap.cpp @ 8784:79af1312fc2c

8005602: NPG: classunloading does not happen while CMS GC with -XX:+CMSClassUnloadingEnabled is used Summary: Call purge() on CLDG after sweep(), reorder purge() call in GenCollectedHeap Reviewed-by: jmasa, stefank
author mgerdin
date Thu, 14 Mar 2013 10:54:44 +0100
parents db9981fd3124
children 68fe50d4f1d5
comparison
equal deleted inserted replaced
8743:82657b6a8cc0 8784:79af1312fc2c
552 // Adjust generation sizes. 552 // Adjust generation sizes.
553 _gens[j]->compute_new_size(); 553 _gens[j]->compute_new_size();
554 } 554 }
555 555
556 if (complete) { 556 if (complete) {
557 // Delete metaspaces for unloaded class loaders and clean up loader_data graph
558 ClassLoaderDataGraph::purge();
557 // Resize the metaspace capacity after full collections 559 // Resize the metaspace capacity after full collections
558 MetaspaceGC::compute_new_size(); 560 MetaspaceGC::compute_new_size();
559 update_full_collections_completed(); 561 update_full_collections_completed();
560 } 562 }
561 563
562 // Track memory usage and detect low memory after GC finishes 564 // Track memory usage and detect low memory after GC finishes
563 MemoryService::track_memory_usage(); 565 MemoryService::track_memory_usage();
564 566
565 gc_epilogue(complete); 567 gc_epilogue(complete);
566
567 // Delete metaspaces for unloaded class loaders and clean up loader_data graph
568 if (complete) {
569 ClassLoaderDataGraph::purge();
570 }
571 568
572 if (must_restore_marks_for_biased_locking) { 569 if (must_restore_marks_for_biased_locking) {
573 BiasedLocking::restore_marks(); 570 BiasedLocking::restore_marks();
574 } 571 }
575 } 572 }