Mercurial > hg > graal-compiler
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 } |