RFR: JDK-8222227: Shenandoah: Fix Traversal GC weak roots handling in final-traversal pause
Roman Kennke
rkennke at redhat.com
Tue Apr 9 20:30:42 UTC 2019
We currently clean weak roots only when weak-references are processed in
Traversal GC. This is wrong, because it should be independent whether or
not it's doing reference-processing.
Also, (weak) roots need to be updated and cleaned before classes get
unloaded (currently), because this is how class-unloaded detects
unreachable classes.
With all this, we no longer need to run class-unloading and
reference-processing every cycle, which covered up those bugs.
Bug:
https://bugs.openjdk.java.net/browse/JDK-8222227
Webrev:
http://cr.openjdk.java.net/~rkennke/JDK-8222227/webrev.02/
Testing: hotspot_gc_shenandoah
Roman
More information about the shenandoah-dev
mailing list