RFR (L): 8213229: Investigate treating StringTable as weak in young collections

Thomas Schatzl thomas.schatzl at oracle.com
Thu Jan 10 20:46:27 UTC 2019

Hi all,

  please review this change that moves string table processing in all
collectors that use the WeakProcessor (all but ZGC and Epsilon) into
the WeakProcessor.

This means that string table entries will be treated as weak in young
collections always for all these collectors. This is kind of inevitable
as the StringTable contents are now handled the same as other weak
references processed there.

Overall it's mostly removing code, which is nice :)


 - the original code had some test that checked some log message that
printed how many string table entries were processed/cleaned out during
string table processing. This test has been removed
(TestStringTableStats.java). I filed a CR to add some facility in the
WeakProcessor to be able to get more information from the various
sources of weak references as it would be nice to have statistics on
them too (JDK-8215709).

 - I modified the Shenandoah code to compile, and it seem to work.
While at it I noticed that Shenandoah deduplicates strings twice for
some reason (JDK-8215549) even before this change. I left it as is.

 - I also just noticed that the copyright notices for all touched files
need updating, I will do that in place later...

hs-tier1-6, performance checking with our performance suite showed no
particular performance differences before/after


More information about the hotspot-gc-dev mailing list