RFR(L): 8197405: Improve messages of AbstractMethodErrors and IncompatibleClassChangeErrors.

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Thu Feb 22 22:16:33 UTC 2018


Goetz,  This looks good and I'll run it through our tests and sponsor it.

http://cr.openjdk.java.net/~goetz/wr18/8197405-ameExMsg/webrev.02/src/hotspot/share/interpreter/linkResolver.cpp.udiff.html

Should you use NEW_RESOURCE_ARRAY instead of allocating this on the 
stack?  That was my only comment.

Thanks,
Coleen

On 2/9/18 9:01 AM, Lindenmaier, Goetz wrote:
> Hi,
>
> I changed the test to use jasm.
> http://cr.openjdk.java.net/~goetz/wr18/8197405-ameExMsg/webrev.02/
>
> Also, I fixed a bug and disabled the test on aarch/arm.
>
> I started to port the simple stuff to aarch/arm.
> I'm happy to include a further patch for these, but if I
> have time I will also try to implement the rest, can't test
> it though.
>
> Best regards,
>    Goetz.
>
>> -----Original Message-----
>> From: David Holmes [mailto:david.holmes at oracle.com]
>> Sent: Donnerstag, 8. Februar 2018 23:54
>> To: Lindenmaier, Goetz <goetz.lindenmaier at sap.com>; hotspot-runtime-
>> dev at openjdk.java.net
>> Subject: Re: RFR(L): 8197405: Improve messages of AbstractMethodErrors
>> and IncompatibleClassChangeErrors.
>>
>> Hi Goetz,
>>
>> Binary class files can not be checked-in to the repo. You'll need to use
>> jasm or jcod files that then get compiled as part of the test.
>>
>> Thanks,
>> David
>>
>> On 9/02/2018 12:41 AM, Lindenmaier, Goetz wrote:
>>> Hi,
>>>
>>> This change improves the messages of AbstractMethodErrors and
>> IncompatibleClassChangeErrors.
>>> Please review.
>>> http://cr.openjdk.java.net/~goetz/wr18/8197405-ameExMsg/webrev.01/
>>>
>>> It adds tests that check some of the improved messages.
>>> The tests check the following improvements:
>>>
>>> AbstractMethodErrors:
>>>
>>> test_ameInt, test case 1:
>>> before: no message / null
>>> after:  Missing implementation of interface method
>> MyAbstractInt.anAbstractMethod()Ljava/lang/String;
>>> test_ameInt, test case 2:
>>> before: no message / null
>>> after:  Class ImplementsSomeFunctionsInt does not implement the
>> requested method
>>>           aFunctionOfMyInterface()Ljava/lang/String; inherited from interface
>> MyInterfaceInt1
>>> test_ame, interpreted:
>>> before: no message / null
>>> after:  Missing implementation of interface method
>> MyInterface.aFunctionOfMyInterface()V
>>> test_ame, compiled:
>>> before: MyAbstract.aFunctionOfMyInterface()V
>>> after:  Class ImplementsSomeFunctions does not implement the requested
>> method
>>>           aFunctionOfMyInterface()V inherited from abstract class MyAbstract
>>>
>>> IncompatibleClassChangeErrors:
>>>
>>> test_icc_compiled_itable_stub
>>> before: vtable stub
>>> after:  Class ICC_B does not implement the requested interface ICC_iB
>>>
>>> Best regards,
>>>     Goetz.
>>>



More information about the hotspot-runtime-dev mailing list