[sh/jdk8u] Process weak roots for class unloading cycles

Zhengyu Gu zgu at redhat.com
Thu Apr 22 21:30:20 UTC 2021


In jdk8u, Shenandoah marks through weak roots if class unloading is off 
for the cycle, so that, Shenandoah only needs to process weak roots for 
class unloading cycle.

Currently, we have following logic:

  490   if (_heap->process_references()) {
  491     weak_refs_work(full_gc);
  492   } else {
  493     weak_roots_work(full_gc);
  494   }

which suggests weak roots have something to do with reference 
processing, that seems wrong. I thought we have corrected this before, 
maybe in 11u?

Webrev: 
http://cr.openjdk.java.net/~zgu/shenandoah/weak_roots_processing/webrev/

Test:
   hotspot_gc_shenandoah

Thanks,

-Zhengyu



More information about the shenandoah-dev mailing list