src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp
changeset 55395 9c6d907cefac
parent 55385 2c47220ce9bb
child 55423 970adfac768d
--- a/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp	Fri Jun 14 16:47:58 2019 +0200
+++ b/src/hotspot/share/gc/shenandoah/shenandoahHeap.cpp	Fri Jun 14 11:58:23 2019 -0400
@@ -1279,7 +1279,12 @@
   // First, we process all GC roots. This populates the work stack with initial objects.
   ShenandoahAllRootScanner rp(1, ShenandoahPhaseTimings::_num_phases);
   ObjectIterateScanRootClosure oops(&_aux_bit_map, &oop_stack);
-  rp.roots_do_unchecked(&oops);
+
+  if (unload_classes()) {
+    rp.strong_roots_do_unchecked(&oops);
+  } else {
+    rp.roots_do_unchecked(&oops);
+  }
 
   // Work through the oop stack to traverse heap.
   while (! oop_stack.is_empty()) {