RFR: JDK-8213746: GC/C2 abstraction for C2 matcher

Roman Kennke rkennke at redhat.com
Mon Nov 12 19:28:48 UTC 2018


 There's a bunch of GC specific code in matcher.cpp that should better
be abstracted into BarrierSetC2 and GC specific subclasses.

Some notes about the proposed change:
- It hooks GC up to both the 'visit' and 'post-visit' phase of the node
iteration loops. ZGC currently inserts into visit, and Shenandoah
requires both vist and post-visit. The latter is needed because
Shenandoah provides its own set of CAS nodes which need to be binary-treed.
- There's also a hook in post_store_load_barrier() which Shenandoah
needs, again for its own set of CAS nodes
- The switches are factored out into their own methods to make the GC
hookup clearer and easier to manage.

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

Testing: passes tier

Thoughts? Reviews?

Thanks,
Roman

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20181112/b89efdab/signature.asc>


More information about the hotspot-gc-dev mailing list