src/hotspot/share/gc/shenandoah/shenandoahMarkCompact.cpp
changeset 58738 ef2b75750838
parent 58711 765ecbffe88a
child 59290 97d13893ec3c
equal deleted inserted replaced
58737:a39cdab8fac1 58738:ef2b75750838
   108     }
   108     }
   109 
   109 
   110     // b. Cancel concurrent mark, if in progress
   110     // b. Cancel concurrent mark, if in progress
   111     if (heap->is_concurrent_mark_in_progress()) {
   111     if (heap->is_concurrent_mark_in_progress()) {
   112       heap->concurrent_mark()->cancel();
   112       heap->concurrent_mark()->cancel();
   113       heap->stop_concurrent_marking();
   113       heap->set_concurrent_mark_in_progress(false);
   114     }
   114     }
   115     assert(!heap->is_concurrent_mark_in_progress(), "sanity");
   115     assert(!heap->is_concurrent_mark_in_progress(), "sanity");
   116 
   116 
   117     // c. Reset the bitmaps for new marking
   117     // c. Reset the bitmaps for new marking
   118     heap->reset_mark_bitmap();
   118     heap->reset_mark_bitmap();
   241   rp->set_active_mt_degree(heap->workers()->active_workers());
   241   rp->set_active_mt_degree(heap->workers()->active_workers());
   242 
   242 
   243   cm->update_roots(ShenandoahPhaseTimings::full_gc_roots);
   243   cm->update_roots(ShenandoahPhaseTimings::full_gc_roots);
   244   cm->mark_roots(ShenandoahPhaseTimings::full_gc_roots);
   244   cm->mark_roots(ShenandoahPhaseTimings::full_gc_roots);
   245   cm->finish_mark_from_roots(/* full_gc = */ true);
   245   cm->finish_mark_from_roots(/* full_gc = */ true);
   246 
       
   247   heap->mark_complete_marking_context();
   246   heap->mark_complete_marking_context();
       
   247   heap->parallel_cleaning(true /* full_gc */);
   248 }
   248 }
   249 
   249 
   250 class ShenandoahPrepareForCompactionObjectClosure : public ObjectClosure {
   250 class ShenandoahPrepareForCompactionObjectClosure : public ObjectClosure {
   251 private:
   251 private:
   252   PreservedMarks*          const _preserved_marks;
   252   PreservedMarks*          const _preserved_marks;