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:38:43 PST 2013
On 12/10/2013 2:25 PM, Leonid Mesnik wrote:
> 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
Hi Leonid,
Thank you for the code review! I will remove the System.exit(1) call
prior to committing.
Lois
>
> 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
>>
>
>
More information about the hotspot-runtime-dev
mailing list