RFR: String deduplication for traversal GC

Zhengyu Gu zgu at redhat.com
Tue Jan 30 20:19:37 UTC 2018



On 01/30/2018 02:46 PM, Roman Kennke wrote:
> Am 30.01.2018 um 20:40 schrieb Zhengyu Gu:
>> Please review the implementation of string deduplication for traversal 
>> GC.
>>
>>
>> Webrev: 
>> http://cr.openjdk.java.net/~zgu/shenandoah/traversal_dedup/webrev.00/
>>
>>
>> Test:
>>
>>    hotspot_gc_shenandoah (fastdebug + release)
>>    specJVM with -XX:+UseStringDeduplication (fastdebug)
>>
>>
>> Thanks,
>>
>> -Zhengyu
> 
> I wonder if it should be possible to make the closure templated instead 
> of making multiple explicit classes, like this:
> 
> template <bool STRDEDUP>
> class ShenandoahTraversalSuperClosure .. {
> 
> ..
>     template <class T>
>     void work(T* p);
> }
> 
> and then something like:

I had a version like this for early dedup closures, but changed to 
current style based on shade's comments.

-Zhengyu


> 
> template <bool STRDEDUP>
> class ShenandoahTraversalDedupClosure : public 
> ShenandoahTraversalSuperClosure<STRDEDUP> {
> 
> I am not totally sure about how to stitch it together, but something 
> like this should work? Or maybe it's not worth all the hassle. ?
> 
> (Infact, I suspect something like the above would be possible for the 
> metadata flag too...)
> 
> Roman


More information about the shenandoah-dev mailing list