<div class="gmail_quote">Hi Vladimir and John,</div><div class="gmail_quote"><br></div><div class="gmail_quote">Thanks for polishing the changes!</div><div class="gmail_quote">Comments inline below:</div><div class="gmail_quote">
<br></div><div class="gmail_quote">On Thu, May 24, 2012 at 1:02 PM, John Rose <span dir="ltr">&lt;<a href="mailto:john.r.rose@oracle.com" target="_blank">john.r.rose@oracle.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><div class="im"><div><div>On May 23, 2012, at 4:47 PM, Vladimir Kozlov wrote:</div><br><blockquote type="cite"><span style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-size:medium">I updated webrev:<br>
<br><a href="http://cr.openjdk.java.net/~kvn/7170463/webrev.01" target="_blank">http://cr.openjdk.java.net/~kvn/7170463/webrev.01</a><br><br>I found additional issue with original changes. They accidentally removed optimization which replaces LoadKlass node with ConP (klass type) in map. Next code will not be executed:<br>
<br>  cast = con;  // Replace non-constant val by con.<br><br></span></blockquote></div></div></div></blockquote><div>Oops, I didn&#39;t notice this assignment handles Longs and Oops too. Thank for the catch!</div><div> </div>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div class="im"><div><blockquote type="cite"><span style="border-collapse:separate;font-family:Helvetica;font-style:normal;font-variant:normal;font-weight:normal;letter-spacing:normal;line-height:normal;text-align:-webkit-auto;text-indent:0px;text-transform:none;white-space:normal;word-spacing:0px;font-size:medium">New code should do separate map update of object which klass is compared.<br>
</span></blockquote></div><br></div><div>That&#39;s fine; I like it.</div><div><br></div></div></blockquote><div>Yes, I like it better this way, too. I couldn&#39;t get a clean factoring of sharpen_type_after_if() with the new and old code mixed together; now it looks nice.</div>
<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word"><div></div><div>New question:  Can the following call return Top?</div><div>
  obj_type-&gt;join(con_type)</div><div><br></div><div>E.g.,</div><div>  Number x = 5;</div><div>  if (x.getClass() == String.class)</div><div>    System.out.println(&quot;fail!&quot;);</div><div><br></div><div>Perhaps the compare will short-circuit before that happens.  If it doesn&#39;t, we&#39;ll get assertion failures or worse.</div>
<span class="HOEnZb"><font color="#888888"><div><br></div></font></span></div></blockquote><div>Maybe we should just do without the join?</div><div><br></div><div>Thanks,</div><div>Kris</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div style="word-wrap:break-word"><span class="HOEnZb"><font color="#888888"><div></div><div>— John</div></font></span></div></blockquote></div><br>