RFR: Eliminate string dedup cleanup phase and correct UR closure

Roman Kennke rkennke at redhat.com
Thu Oct 19 14:49:00 UTC 2017


Am 19.10.2017 um 15:45 schrieb Zhengyu Gu:
> 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

Looks ok



More information about the shenandoah-dev mailing list