< prev index next >

src/hotspot/share/gc/g1/g1ConcurrentMark.cpp

Print this page
rev 49825 : [mq]: fix

*** 1693,1717 **** pt.print_enqueue_phase(); assert(!rp->discovery_enabled(), "Post condition"); } - assert(has_overflown() || _global_mark_stack.is_empty(), - "Mark stack should be empty (unless it has overflown)"); - - { - GCTraceTime(Debug, gc, phases) debug("Weak Processing", _gc_timer_cm); - WeakProcessor::weak_oops_do(&g1_is_alive, &do_nothing_cl); - } - if (has_overflown()) { // We can not trust g1_is_alive if the marking stack overflowed return; } assert(_global_mark_stack.is_empty(), "Marking should have completed"); // Unload Klasses, String, Symbols, Code Cache, etc. if (ClassUnloadingWithConcurrentMark) { GCTraceTime(Debug, gc, phases) debug("Class Unloading", _gc_timer_cm); bool purged_classes = SystemDictionary::do_unloading(&g1_is_alive, _gc_timer_cm, false /* Defer cleaning */); _g1h->complete_cleaning(&g1_is_alive, purged_classes); --- 1693,1714 ---- pt.print_enqueue_phase(); assert(!rp->discovery_enabled(), "Post condition"); } if (has_overflown()) { // We can not trust g1_is_alive if the marking stack overflowed return; } assert(_global_mark_stack.is_empty(), "Marking should have completed"); + { + GCTraceTime(Debug, gc, phases) debug("Weak Processing", _gc_timer_cm); + WeakProcessor::weak_oops_do(&g1_is_alive, &do_nothing_cl); + } + // Unload Klasses, String, Symbols, Code Cache, etc. if (ClassUnloadingWithConcurrentMark) { GCTraceTime(Debug, gc, phases) debug("Class Unloading", _gc_timer_cm); bool purged_classes = SystemDictionary::do_unloading(&g1_is_alive, _gc_timer_cm, false /* Defer cleaning */); _g1h->complete_cleaning(&g1_is_alive, purged_classes);
< prev index next >