[9, P1] RFR (S/M): 8180048: Interned string and symbol table leak memory during parallel unlinking

Aleksey Shipilev shade at redhat.com
Thu May 11 16:26:31 UTC 2017


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;

Otherwise seems fine.

Thanks,
-Aleksey






More information about the hotspot-runtime-dev mailing list