<html><head></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Harold.<div><br></div><div>Code looks good. Great job.</div><div><br></div><div>And thank you for adding the comment around the lookup_instance_method_in_klasses calls.</div><div><br></div><div>Helpful if you also list tests run in the review request.</div><div><br></div><div>thanks,</div><div>Karen</div><div><br><div><div>On Dec 13, 2013, at 2:32 PM, harold seigel wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite">
  

    <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  
  <div text="#000000" bgcolor="#FFFFFF">
    Hi,<br>
    <br>
    Please review this updated fix for bug 8027804: <a href="http://cr.openjdk.java.net/%7Ehseigel/bug_8027804.2/">http://cr.openjdk.java.net/~hseigel/bug_8027804.2/</a><br>
    <br>
    This fixes a failure with JCK test
vm/constantpool/resolveMethod/resolveMethod007/resolveMethod00705m2/resolveMethod00705m2.html<br>
    <br>
    The bug involves a method in a subclass calling a default method in
    interface I where interface J implements I and contains an abstract
    method.&nbsp; Instead of calling the default method, an
    AbstractMethodError should be thrown.<br>
    <br>
    The changes in this new webrev fix additional problems caused by
    incorrectly finding overpass methods in superclasses and incorrectly
    finding default methods when searching transitive interfaces during
    resolution.<br>
    <a href="http://cr.openjdk.java.net/%7Ehseigel/bug_8027804.2/"></a>
    <div class="moz-forward-container"><br>
      Thanks, Harold<br>
      <br>
      -------- Original Message --------
      <table class="moz-email-headers-table" border="0" cellpadding="0" cellspacing="0">
        <tbody>
          <tr>
            <th valign="BASELINE" align="RIGHT" nowrap="nowrap">Subject:
            </th>
            <td>RFR (S) 8027804: JCK resolveMethod test fails expecting
              AbstractMethodError</td>
          </tr>
          <tr>
            <th valign="BASELINE" align="RIGHT" nowrap="nowrap">Date: </th>
            <td>Tue, 26 Nov 2013 14:19:19 -0500</td>
          </tr>
          <tr>
            <th valign="BASELINE" align="RIGHT" nowrap="nowrap">From: </th>
            <td>harold seigel <a class="moz-txt-link-rfc2396E" href="mailto:harold.seigel@oracle.com">&lt;harold.seigel@oracle.com&gt;</a></td>
          </tr>
          <tr>
            <th valign="BASELINE" align="RIGHT" nowrap="nowrap">Organization:
            </th>
            <td>Oracle Corporation</td>
          </tr>
          <tr>
            <th valign="BASELINE" align="RIGHT" nowrap="nowrap">To: </th>
            <td>Hotspot dev runtime
              <a class="moz-txt-link-rfc2396E" href="mailto:hotspot-runtime-dev@openjdk.java.net">&lt;hotspot-runtime-dev@openjdk.java.net&gt;</a></td>
          </tr>
        </tbody>
      </table>
      <br>
      <br>
      <pre>Hi,

Please review this small change to fix bug 8027804.

In cases where the maximally specific method is abstract, the fix 
creates an AbstractMethodError exception and message.  This generates an 
overpass method.  The overpass method then gets added to the default 
methods table where it can be found during method resolution.

The fix was tested with the JCK lang and vm tests, the default methods 
tests, ute vm.quick tests, and the jtreg hotspot, lang, and util tests.

Open webrev: <a class="moz-txt-link-freetext" href="http://cr.openjdk.java.net/~hseigel/bug_8027804/">http://cr.openjdk.java.net/~hseigel/bug_8027804/</a> 
<a class="moz-txt-link-rfc2396E" href="http://cr.openjdk.java.net/%7Ehseigel/bug_8027804/">&lt;http://cr.openjdk.java.net/%7Ehseigel/bug_8027804/&gt;</a>

Bug: <a class="moz-txt-link-freetext" href="https://bugs.openjdk.java.net/browse/JDK-8027804">https://bugs.openjdk.java.net/browse/JDK-8027804</a>

Thanks, Harold
</pre>
      <br>
    </div>
    <br>
  </div>

</blockquote></div><br></div></body></html>