[9, P1] RFR (S/M): 8180048: Interned string and symbol table leak memory during parallel unlinking
David Holmes
david.holmes at oracle.com
Fri May 12 01:38:07 UTC 2017
On 12/05/2017 2:26 AM, Aleksey Shipilev wrote:
> On 05/11/2017 06:04 PM, Thomas Schatzl wrote:
>> It only affects G1 as it is the only collector that does string/symbol
>> table unlinking in parallel.
>
> Shenandoah too, it actually shares a part of G1 code for that.
>
>> CR:
>> https://bugs.openjdk.java.net/browse/JDK-8180048
>> Webrev:
>> http://cr.openjdk.java.net/~tschatzl/8180048/webrev/
>
> So the idea is to collect pending ops to BucketUnlinkContext, and then purge
> them in BHT::bulk_free_entries. Sounds sane to me, probably also has performance
> benefits.
>
> Nits:
>
> *) Modifier order?
> 176 BasicHashtableEntry<F>* volatile _free_list;
_free_list is updated lock-free using Atomic::cmpxchg_ptr so it is
appropriate to mark it as being volatile.
David
> Otherwise seems fine.
>
> Thanks,
> -Aleksey
>
>
>
>
More information about the hotspot-gc-dev
mailing list