RFR: SA: clhsdb 'printall' throws ClassCastException while printing out the bytecodes

serguei.spitsyn at oracle.com serguei.spitsyn at oracle.com
Fri Feb 9 07:58:55 UTC 2018


Hi Jini,

The update looks good to me.

Thanks,
Serguei


On 2/8/18 00:59, Jini George wrote:
> Thank you very much, David and Serguei for the review.
>
> David, based on your comments, I took a relook at the fix and I have 
> modified it. Since this is an object array klass, the search for the 
> method needs to be done among the methods of the superclass 
> (java.lang.Object). The modified webrev is at:
>
> http://cr.openjdk.java.net/~jgeorge/8175384/webrev.02/index.html
>
> I have addressed the other comments.
>
> Thank you,
> Jini.
>
> On 1/25/2018 8:00 AM, David Holmes wrote:
>> Hi Jini,
>>
>> On 25/01/2018 3:43 AM, Jini George wrote:
>>> Hello,
>>>
>>> Requesting reviews for the issue:
>>>
>>> SA: clhsdb 'printall' throws ClassCastException while printing out 
>>> the bytecodes
>>>
>>> ID: https://bugs.openjdk.java.net/browse/JDK-8175384
>>> Webrev: http://cr.openjdk.java.net/~jgeorge/8175384/webrev.01/
>>>
>>> The issue was seen while printing out the details of the 
>>> invokevirtual bytecode of the java.lang.Enum.values() method. The 
>>> fix is to avoid a ClassCastException by returning the bottom klass 
>>> in the case of an object array klass, while printing out the details.
>>
>> I'm a bit confused as to what getFieldOrMethodKlassRefAt is supposed 
>> to be returning - should it really be instanceKlass? It's not at all 
>> clear to me that returning the array component type is the right 
>> thing to do.
>>
>> That aside a couple of minor nits:
>>
>> src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/oops/ConstantPool.java 
>>
>>
>> !       k = (k.isObjArrayKlass())?((ObjArrayKlass)k).getBottomKlass():k;
>>
>> No () needed around k.isObjArrayKlass()
>> Spaces needed around the ? and : operators
>>
>> test/hotspot/jtreg/serviceability/sa/ClhsdbLauncher.java
>>
>> Copyright year should now be "2017, 2018,"
>>
>> Thanks,
>> David
>>
>>> Tests run: The SA tests pass with Mach5 and jprt.
>>>
>>> Thanks,
>>> Jini.



More information about the serviceability-dev mailing list