<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->in(<b>1</b>) == cmp2</font> as an alternative at line 1217. While hardly anybody writes <font face="courier new, monospace">a.length & 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're handling both. I'm unsure about the correctness in the signed case (but didn'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'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>