<div dir="ltr"><div style>Hi Kris,</div><div><br></div><div style>some comments on</div><div style><a href="http://cr.openjdk.java.net/~kmo/8003585/webrev.02/src/share/vm/opto/subnode.cpp.sdiff.html">http://cr.openjdk.java.net/~kmo/8003585/webrev.02/src/share/vm/opto/subnode.cpp.sdiff.html</a><br>
</div><br>I could imagine adding <font face="courier new, monospace">cmp1-&gt;in(<b>1</b>) == cmp2</font> as an alternative at line 1217. While hardly anybody writes <font face="courier new, monospace">a.length &amp; index</font>, some previous transformation could rearrange the expression.<br>
<div class="gmail_extra"><br></div><div class="gmail_extra" style>The description at line 1221 mentions unsigned compare only while you&#39;re handling both. I&#39;m unsure about the correctness in the signed case (but didn&#39;t check it). Some sort of proof would be nice, especially for extreme values.</div>
<div class="gmail_extra"><br>I like the idea at line 1237, though I don&#39;t exactly understand how it works. Is there a good description of all the nodes and all normalizations done?</div><div class="gmail_extra"><br></div>
<div class="gmail_extra">Regards,</div><div class="gmail_extra">Martin.</div><div class="gmail_extra"><br></div></div>