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