< prev index next >

src/share/vm/gc/shenandoah/vm_operations_shenandoah.cpp

Print this page
rev 14453 : Remove secondary marking bitmap.

@@ -46,11 +46,13 @@
   // Calculate workers for initial marking
   uint nworkers = ShenandoahWorkerPolicy::calc_workers_for_init_marking();
 
   ShenandoahWorkerScope scope(workers, nworkers);
 
-  assert(sh->is_next_bitmap_clear(), "need clear marking bitmap");
+  assert(sh->is_bitmap_clear(), "need clear marking bitmap");
+
+  sh->set_bitmap_valid(false);
 
   sh->start_concurrent_marking();
 }
 
 void VM_ShenandoahFullGC::doit() {

@@ -84,10 +86,11 @@
   ShenandoahWorkerScope scope(workers, n_workers);
 
   if (! sh->cancelled_concgc()) {
     GCTraceTime(Info, gc) time("Pause Final Mark", sh->gc_timer(), GCCause::_no_gc, true);
     sh->concurrentMark()->finish_mark_from_roots();
+    sh->set_bitmap_valid(true);
     sh->stop_concurrent_marking();
 
     {
       ShenandoahGCPhase prepare_evac(ShenandoahPhaseTimings::prepare_evac);
       sh->prepare_for_concurrent_evacuation();
< prev index next >