< prev index next >

src/hotspot/share/gc/shenandoah/shenandoahTraversalGC.cpp

Print this page
rev 58087 : 8239354: Shenandoah: minor enhancements to traversal GC

*** 569,580 **** preclean_weak_refs(); } } void ShenandoahTraversalGC::final_traversal_collection() { - _heap->make_parsable(true); - if (!_heap->cancelled_gc()) { #if COMPILER2_OR_JVMCI DerivedPointerTable::clear(); #endif ShenandoahGCPhase phase_work(ShenandoahPhaseTimings::final_traversal_gc_work); --- 569,578 ----
*** 604,613 **** --- 602,616 ---- // No more marking expected _heap->set_concurrent_traversal_in_progress(false); _heap->mark_complete_marking_context(); + // A rare case, TLAB/GCLAB is initialized from an empty region without + // any live data, the region can be trashed and may be uncommitted in later code, + // that results the TLAB/GCLAB not usable. Retire them here. + _heap->make_parsable(true); + _heap->parallel_cleaning(false); fixup_roots(); _heap->set_has_forwarded_objects(false);
< prev index next >