RFR (S/M): 8202017: Merge Reference Enqueuing phase with phase 3 of Reference processing

Thomas Schatzl thomas.schatzl at oracle.com
Thu Apr 19 19:14:06 UTC 2018


Hi all,

  can I have reviews for this change that merges the Reference
Enqueuing phase of reference processing with the respective phase 3 of
actual Reference Processing?

This is enabled by JDK-8202018 where we moved some work that cleared
card tables from inbetween Reference Processing and Reference Enqueuing
because we could (and likely always could), so the issue that cards
dirtied by Reference Processing are not cleared any more.

This saves one time spinning up and synchronizing worker threads at
least, if not more due to locality (i.e. completely saving one linked
list traversal).

This change affects all collectors using the reference processing
framework - I assume that Shenandoah, if it is using it, does not need
a split reference enqueuing phase either. Afaik Z does not use this
framework... :)

CR:
https://bugs.openjdk.java.net/browse/JDK-8202017
Webrev:
http://cr.openjdk.java.net/~tschatzl/8202017/webrev/
Testing:
hs-tier1-4

Thanks,
  Thomas



More information about the hotspot-gc-dev mailing list