< prev index next >
src/share/vm/gc/shenandoah/vm_operations_shenandoah.cpp
Print this page
rev 14452 : [mq]: onebitmap.patch
*** 46,56 ****
// 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");
sh->start_concurrent_marking();
}
void VM_ShenandoahFullGC::doit() {
--- 46,58 ----
// Calculate workers for initial marking
uint nworkers = ShenandoahWorkerPolicy::calc_workers_for_init_marking();
ShenandoahWorkerScope scope(workers, nworkers);
! assert(sh->is_bitmap_clear(), "need clear marking bitmap");
!
! sh->set_bitmap_valid(false);
sh->start_concurrent_marking();
}
void VM_ShenandoahFullGC::doit() {
*** 84,93 ****
--- 86,96 ----
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 >