--- a/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp Tue Mar 10 19:56:19 2015 -0700
+++ b/hotspot/src/share/vm/gc_implementation/g1/concurrentMark.cpp Fri Mar 13 12:40:39 2015 -0400
@@ -2532,11 +2532,6 @@
G1CMTraceTime trace("Unloading", G1Log::finer());
if (ClassUnloadingWithConcurrentMark) {
- // Cleaning of klasses depends on correct information from MetadataMarkOnStack. The CodeCache::mark_on_stack
- // part is too slow to be done serially, so it is handled during the weakRefsWorkParallelPart phase.
- // Defer the cleaning until we have complete on_stack data.
- MetadataOnStackMark md_on_stack(false /* Don't visit the code cache at this point */);
-
bool purged_classes;
{
@@ -2548,11 +2543,6 @@
G1CMTraceTime trace("Parallel Unloading", G1Log::finest());
weakRefsWorkParallelPart(&g1_is_alive, purged_classes);
}
-
- {
- G1CMTraceTime trace("Deallocate Metadata", G1Log::finest());
- ClassLoaderDataGraph::free_deallocate_lists();
- }
}
if (G1StringDedup::is_enabled()) {