< prev index next >
src/hotspot/share/gc/shenandoah/shenandoahConcurrentMark.cpp
Print this page
rev 59498 : 8245880: Shenandoah: check class unloading flag early in concurrent code root scan
rev 59499 : 8246162: Shenandoah: full GC does not mark code roots when class unloading is off
@@ -265,13 +265,14 @@
do_nmethods ? &blobsCl : NULL);
Threads::threads_do(&tc);
}
}
- if (heap->is_degenerated_gc_in_progress()) {
- // Degenerated cycle may bypass concurrent cycle, so code roots might not be scanned,
- // let's check here.
+ if (heap->is_degenerated_gc_in_progress() || heap->is_full_gc_in_progress()) {
+ // Full GC does not execute concurrent cycle.
+ // Degenerated cycle may bypass concurrent cycle.
+ // So code roots might not be scanned, let's scan here.
_cm->concurrent_scan_code_roots(worker_id, rp);
}
_cm->mark_loop(worker_id, _terminator, rp,
false, // not cancellable
< prev index next >