RFR: JDK-8154343: Make SATB related code available to other GCs

Roman Kennke rkennke at redhat.com
Fri Jul 27 11:17:37 UTC 2018


This change moves SATB related code to gc/shared from where it can be
used by other SATB GCs. I'm doing it in preparation for Shenandoah.

It also includes two new interfaces in CollectedHeap to make it
independent from G1. One is for fetching per-thread-queue from
GCThreadLocalData, and the other to support filtering.

I am not sure if the filtering is too performance sensitive to make a
virtual call there. If it is, we may substitute the virtual call with
something templated. I actually have such code in Shenandoah, but it's a
bit ugly (it requires knowledge about GCs that use it to drive code
geneneration). An alternative might be to move the whole filtering loop
into (e.g.) CollectedHeap, from where we know the actual type and can
drive a templated loop. However, I tend to think virtual call might be
ok, and thought I'd start with something simple and nice.

Bug:
https://bugs.openjdk.java.net/browse/JDK-8154343
Webrev:
http://cr.openjdk.java.net/~rkennke/JDK-8154343/webrev.00/

Testing: compiles and passes hotspot/jtreg:tier1

What do you think?
Roman

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: OpenPGP digital signature
URL: <https://mail.openjdk.org/pipermail/hotspot-gc-dev/attachments/20180727/441d4177/signature.asc>


More information about the hotspot-gc-dev mailing list