<div dir="ltr"><pre><span class="inbox-inbox-new">Hi<br><br>matcher.cpp<br>+ bool cont = false;</span>
<span class="inbox-inbox-new">+ if (!gc_handled) {</span>
<span class="inbox-inbox-new">+ cont = find_shared_visit(mstack, n, nop, mem_op, mem_addr_idx);</span>
<span class="inbox-inbox-new">+ }</span>
<span class="inbox-inbox-new">+ if (cont) {</span>
<span class="inbox-inbox-new">+ continue;</span>
<span class="inbox-inbox-new">+ }</span>
<span class="inbox-inbox-new"><br></span></pre><pre><span class="inbox-inbox-new">It could just continue immediately, without the local variable.<br><br></span></pre><pre><span class="inbox-inbox-new"><br></span></pre></div><br><div class="gmail_quote"><div dir="ltr">pon, 12. stu 2018. u 20:30 Roman Kennke <<a href="mailto:rkennke@redhat.com">rkennke@redhat.com</a>> napisao je:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"> There's a bunch of GC specific code in matcher.cpp that should better<br>
be abstracted into BarrierSetC2 and GC specific subclasses.<br>
<br>
Some notes about the proposed change:<br>
- It hooks GC up to both the 'visit' and 'post-visit' phase of the node<br>
iteration loops. ZGC currently inserts into visit, and Shenandoah<br>
requires both vist and post-visit. The latter is needed because<br>
Shenandoah provides its own set of CAS nodes which need to be binary-treed.<br>
- There's also a hook in post_store_load_barrier() which Shenandoah<br>
needs, again for its own set of CAS nodes<br>
- The switches are factored out into their own methods to make the GC<br>
hookup clearer and easier to manage.<br>
<br>
Bug:<br>
<a href="https://bugs.openjdk.java.net/browse/JDK-8213746" rel="noreferrer" target="_blank">https://bugs.openjdk.java.net/browse/JDK-8213746</a><br>
Webrev:<br>
<a href="http://cr.openjdk.java.net/~rkennke/JDK-8213746/webrev.00/" rel="noreferrer" target="_blank">http://cr.openjdk.java.net/~rkennke/JDK-8213746/webrev.00/</a><br>
<br>
Testing: passes tier<br>
<br>
Thoughts? Reviews?<br>
<br>
Thanks,<br>
Roman<br>
<br>
</blockquote></div>