--- old/src/share/vm/gc/shenandoah/vm_operations_shenandoah.cpp 2017-10-05 21:08:08.636161414 +0200 +++ new/src/share/vm/gc/shenandoah/vm_operations_shenandoah.cpp 2017-10-05 21:08:08.528161151 +0200 @@ -48,7 +48,9 @@ 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(); } @@ -86,6 +88,7 @@ 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(); {