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

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Fri Feb 23 13:11:50 UTC 2018



On 2/23/18 8:09 AM, Lindenmaier, Goetz wrote:
> Hi Coleen,
>
> thanks for testing my change.
> I'll change it a bit to incorporate David's comments, and also to simplify
> the code a bit. I'll post a new webrev soon.
>
> The buffer on the stack is just similar to all methods above
> that use a buffer of fixed size.

Okay, I think since this method is called from Java code, there should 
be sufficient stack banging so this doesn't cause a native overflow.
thanks,
Coleen
>
> Best regards,
>    Goetz.
>
>> -----Original Message-----
>> From: hotspot-runtime-dev [mailto:hotspot-runtime-dev-
>> bounces at openjdk.java.net] On Behalf Of coleen.phillimore at oracle.com
>> Sent: Donnerstag, 22. Februar 2018 23:17
>> To: hotspot-runtime-dev at openjdk.java.net
>> Subject: Re: RFR(L): 8197405: Improve messages of AbstractMethodErrors
>> and IncompatibleClassChangeErrors.
>>
>>
>> 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