RFR: Eliminate string dedup cleanup phase and correct UR closure
Zhengyu Gu
zgu at redhat.com
Thu Oct 19 13:45:31 UTC 2017
This patch addresses two issues:
1) We don't need cleanup phase. It was intended to cleanup dead objects
in string dedup table, so that we won't deduplicate to those *dead* char
arrays.
However, deduplication applies keep_alive_barrier() to revive those
objects, that makes this phase unnecessary.
2) Applied wrong UR closure.
We need to update references for all marked objects in completed bitmap,
but ShenandoahUpdateRefsClosure only updates references in current cset.
Webrev:
http://cr.openjdk.java.net/~zgu/shenandoah/strdedup_cleanup/webrev.00/
Test:
hotspot_gc_shenandoah (fastdebug + release)
Thanks,
-Zhengyu
More information about the shenandoah-dev
mailing list