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

Milan Mimica milan.mimica at gmail.com
Mon Nov 12 19:39:26 UTC 2018


Hi

matcher.cpp
+      bool cont = false;+      if (!gc_handled) {+        cont =
find_shared_visit(mstack, n, nop, mem_op, mem_addr_idx);+      }+
if (cont) {+        continue;+      }

It could just continue immediately, without the local variable.



pon, 12. stu 2018. u 20:30 Roman Kennke <rkennke at redhat.com> napisao je:

>  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 --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-gc-dev/attachments/20181112/5becb8eb/attachment.html>


More information about the hotspot-gc-dev mailing list