RFR: 8032010: Attempt to resolve abstract method in concrete class fails with AbstractMethodError

Calvin Cheung calvin.cheung at oracle.com
Mon Feb 3 18:00:03 PST 2014


I forgot to include the open alias.

On 2/3/2014 5:26 PM, Lois Foltan wrote:
>
> On 2/3/2014 7:59 PM, Calvin Cheung wrote:
>> Hi Lois,
>>
>> Thanks for your review.
>>
>> On 2/3/2014 3:48 PM, Lois Foltan wrote:
>>> Hi Calvin,
>>>
>>> - src/share/vm/interpreter/linkResolver.cpp
>>>   Looks good, no comments.
>>>
>>> - test/runtime/lambda-features/TestConcreteClassWithAbstractMethod.java
>>>   Looks good.  Please update the comments that contain the pseudo 
>>> Java code describing
>>>   the test's purpose.  The comments need to reflect that the 
>>> callsite to the method of interest, "m()",
>>>   actually occurs within p1.T3's "test()" method.
>>
>> How about changing the comments to the following?
>>   37 /*
>>   38  *   class T1 { public int m() {} }
>>   39  *   class T2 { public abstract int m(); }
>>   40  *   class T3 { public int m() {} }
>>   41  *
>>   42  *   Call site: T3.test() { invokevirtual T2.m() }
>>   43  *   T3.m() should be invoked
>>   44  */
>
> Yes, thank you.  I don't know if you meant to cc the openjdk distro or 
> not?  I don't need to see another webrev at this point, looks great!
> Lois
>
>>
>> thanks,
>> Calvin
>>
>>>
>>> Thank you,
>>> Lois
>>>
>>> On 1/31/2014 5:45 PM, Calvin Cheung wrote:
>>>> This change, by removing a check in LinkResolver::resolve_method(), 
>>>> is to conform with the recent change in JVMS-8 [1].
>>>> The following check during method resolution is removed:
>>>> JVMS-5.4.3.3. Method Resolution
>>>> "If method lookup succeeds and the method is abstract, but C is not 
>>>> abstract, method resolution throws an AbstractMethodError."
>>>>
>>>> bug: https://bugs.openjdk.java.net/browse/JDK-8032010
>>>>
>>>> webrev: http://cr.openjdk.java.net/~ccheung/8032010/webrev/
>>>>
>>>> tests: (on linux-x64)
>>>>     vm.quick
>>>>     jck vm and lang
>>>>     jtreg on java/util/stream and the new testcase
>>>>     defmeth
>>>>     jprt
>>>>
>>>> thanks,
>>>> Calvin
>>>>
>>>> [1] http://cr.openjdk.java.net/~dlsmith/jsr335-0.9.1.html#J
>>>
>>
>



More information about the hotspot-dev mailing list