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

Leonid Mesnik leonid.mesnik at oracle.com
Tue Dec 10 11:25:55 PST 2013


Lois

It is a bad practice to call System.exit(1) if test fails. It cause 
issue in samevm mode.  It is better to throw exception.
See more information about failures here:
http://openjdk.java.net/jtreg/faq.html#question7.1

Leonid
On 12/10/2013 04:40 AM, 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
>


-- 
Leonid Mesnik
JVM SQE



More information about the hotspot-runtime-dev mailing list