RFR (S) 8031059: invokestatic: ICCE trying to invoke static method when it clashes with an abstract method inherited from an interface
Keith McGuigan
kmcguigan at twitter.com
Thu Jan 9 12:03:30 PST 2014
Hi Harold,
Thanks for opening the bug. The code looks ok, but I wonder if this is the
right place for the fix. Generating a non-static exception-throwing method
shouldn't matter so long as the resolution finds the right static method
when doing the resolution for invokestatic. Why is that resolution finding
the overpass method instead of the static method?
On Tue, Jan 7, 2014 at 5:37 PM, Coleen Phillimore <
coleen.phillimore at oracle.com> wrote:
>
> This looks good.
> Coleen
>
> On 01/07/2014 04:13 PM, harold seigel wrote:
>
>> Hi,
>>
>> Please review this fix for bug 8031059. The problem is caused by the
>> generation of overpass exception methods (during default method processing)
>> that prevents subsequent method resolution from finding existing static
>> methods. This change fixes the problem by not generating an overpass
>> exception method if the current class has a static method with the same
>> name and signature as the targeted default method.
>>
>> The fix has been tested with the default methods tests, JCK lang and VM
>> tests, and JTREG java/lang, java/util, and hotspot tests, and the test
>> programs attached to bugs 8031059 and 8031034.
>>
>> Open webrev at: http://cr.openjdk.java.net/~hseigel/bug_8031059/ <
>> http://cr.openjdk.java.net/%7Ehseigel/bug_8031059/>
>>
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8031059
>>
>> Thanks! Harold
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20140109/d1e42102/attachment.html
More information about the hotspot-runtime-dev
mailing list