RFR: Shenandoah string deduplication
Zhengyu Gu
zgu at redhat.com
Thu Dec 7 19:34:25 UTC 2017
On 12/07/2017 11:36 AM, Aleksey Shipilev wrote:
> On 12/07/2017 03:06 PM, Zhengyu Gu wrote:
>> Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/sh_strdedup/webrev.01/
>
> This looks good.
>
> Nits:
>
> *) Weird template overload here, should be only the first one?
>
> 48 template <class T, UpdateRefsMode UPDATE_MODE, bool STRING_DEDUP>
> 49 void work(T *p);
> 50
> 51 template <class T, UpdateRefsMode UPDATE_MODE>
> 52 void work(T *p);
>
> *) I'd much rather prefer not to introduce intermediate ShenandoahMarkRefsMetadataClosureImpl and
> ShenandoahMarkResolveRefsClosureImpl, and instead make two additional copies that handle dedup:
> {ShenandoahMarkRefsMetadataClosure, ShenandoahMarkRefsMetadataDedupClosure,
> ShenandoahMarkResolveRefsClosure, ShenandoahMarkResolveRefsDedupClosure}. That would duplicate some
> code, but it would provide better textual structure.
Changed accordingly.
Webrev: http://cr.openjdk.java.net/~zgu/shenandoah/sh_strdedup/webrev.02/
Reran hotspot_gc_shenandoah tests (fastdebug + release)
Thanks,
-Zhengyu
>
> Thanks,
> -Aleksey
>
More information about the shenandoah-dev
mailing list