RFR (S) JDK-8028741: Interface Method Resolution should skip static and non-public methods in j.l.Object

Lois Foltan lois.foltan at oracle.com
Tue Dec 10 12:33:27 PST 2013


Thanks Karen for the review!
Lois

On 12/10/2013 1:59 PM, Karen Kinnear wrote:
> Looks good Lois.
>
> Thank you for the testing and the submitted test.
>
> thanks,
> Karen
>
> On Dec 9, 2013, at 7:40 PM, Lois Foltan wrote:
>
>> Please review the following fix:
>>
>> Webrev:
>>     http://cr.openjdk.java.net/~lfoltan/bug_jdk8028741/
>>
>> Fixes both: JDK-8028741: Interface Method Resolution should skip static and non-public methods in j.l.Object
>>                     JDK-8028626: invokeinterface selects the static Object.registerNatives method
>>
>> https://bugs.openjdk.java.net/browse/JDK-8028741
>> https://bugs.openjdk.java.net/browse/JDK-8028626
>>
>> Summary of fix:
>>     Implementation for the JDK 8 JVMS 5.4.3.4 specification change requested in JDK-8027581, to
>>     skip static and non-public methods of java.lang.Object, such as clone, finalize and registerNatives,
>>     for interface method resolution.  This fix also removes the temporary workaround that was put in
>>     place for JDK-8026394.  The workaround special cased checking for java.lang.Object methods
>>     of name "clone" and "finalize" during interface method resolution's interface method accessability
>>     checking.  Since non-public java.lang.Object methods such as clone and finalize, are now being ignored
>>     during method resolution, this temporary work around is no longer necessary.
>>
>> Tests:
>>     JCK lang & vm - passed
>>     JDK java/lang & java/util - passed
>>     vm.quick.testlist - passed
>>     Hotspot test/* - in progress
>>     default method tests - passed
>>
>> Thank you,
>> Lois
>>



More information about the hotspot-runtime-dev mailing list