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