RFR: Shenandoah string deduplication
Aleksey Shipilev
shade at redhat.com
Thu Dec 7 16:36:56 UTC 2017
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.
Thanks,
-Aleksey
More information about the shenandoah-dev
mailing list