[prev in list] [next in list] [prev in thread] [next in thread] 

List:       openjdk-serviceability-dev
Subject:    Re: RFR: SA: clhsdb 'printall' throws ClassCastException while printing out the bytecodes
From:       David Holmes <david.holmes () oracle ! com>
Date:       2018-01-25 2:30:33
Message-ID: 9327a930-d576-b625-1eb5-f5345c92f80c () oracle ! com
[Download RAW message or body]

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.
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic