RFR(M) 8222992: Shenandoah: Pre-evacuate all roots

Zhengyu Gu zgu at redhat.com
Fri Apr 26 12:50:09 UTC 2019


Since we switched to strong to-space invariant, if we pre-evacuate all 
roots, the roots should only contain to-space references, until next 
evacuation cycle. Therefore, we can avoid a couple of update roots calls 
in regular paths. Also, make code easy to reason.

The change may prolong final_mark pause. It is temporary. I intent to 
move several pre-evacuated roots to concurrent phase, in followup RFEs.


Bug: https://bugs.openjdk.java.net/browse/JDK-8222992
Webrev: http://cr.openjdk.java.net/~zgu/JDK-8222992/webrev.00/

Test:
   hotspot_gc_shenandoah (fastdebug and release)

Thanks,

-Zhengyu


More information about the shenandoah-dev mailing list