< 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 >