RFR: SA: clhsdb 'printall' throws ClassCastException while printing out the bytecodes
Jini George
jini.george at oracle.com
Fri Feb 9 03:55:39 UTC 2018
Thank you, David!
- Jini.
On 2/9/2018 9:18 AM, David Holmes wrote:
> 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