<div dir="ltr"><div>Hi all,<br></div><div>Can I have reviews for this improvement for G1's write post-barrier?
More details are stated on the JBS page. Highlight: it reduces CPU-cost-per-query by 1% for Google search frontend's production workload.<br></div><div>Webrev: <a href="https://cr.openjdk.java.net/~manc/8225776/webrev.00/">https://cr.openjdk.java.net/~manc/8225776/webrev.00/</a><br></div>RFE: <a href="https://bugs.openjdk.java.net/browse/JDK-8225776">https://bugs.openjdk.java.net/browse/JDK-8225776</a><div><br></div><div>Some notes:</div><div>The RFE could be a duplicate of JDK-8130918. However, this patch does not improve the performance of the microbenchmark in JDK-8130918. I'm not sure if this patch fully addresses JDK-8130918.</div><div>Chuck Rasbold helped me to figure out the proper fix for the basic block ordering by looking at the CFG before and after C2's PhaseBlockLayout. The out-most if branch (xor) has to have a frequency greater than 0.5 to make the BBs laid out correctly. It is also more conventional to use <span style="color:rgb(0,0,0);white-space:pre-wrap">PROB_LIKELY_MAG than </span><span style="color:rgb(0,0,0);white-space:pre-wrap">PROB_LIKELY in C2.</span><br></div><div><div><br clear="all"><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr">-Man</div></div></div></div></div></div>