RFR: SA: clhsdb 'printall' throws ClassCastException while printing out the bytecodes
David Holmes
david.holmes at oracle.com
Fri Feb 9 03:48:07 UTC 2018
Hi Jini,
On 8/02/2018 6:59 PM, 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
Okay I think that makes sense - the only methods an array has are those
of Object.
> (java.lang.Object). The modified webrev is at:
>
> http://cr.openjdk.java.net/~jgeorge/8175384/webrev.02/index.html
Changes look good. Please update the bug report with the actual
issue/solution.
Thanks,
David
> 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