[9] RFR (S): 8059340: ConstantPool::_resolved_references is missing in heap dump

Coleen Phillimore coleen.phillimore at oracle.com
Fri Oct 3 15:18:39 UTC 2014


I don't know the JDK code for hprof but the JVM code seems fine.  I was 
considering adding the resolved_references array as a hidden field in 
java/lang/Class instances to give GC less to do, but this code can still 
act like we didn't do that.

Coleen

On 9/29/14, 10:51 AM, Vladimir Ivanov wrote:
> http://cr.openjdk.java.net/~vlivanov/8059340/webrev.00/
> https://bugs.openjdk.java.net/browse/JDK-8059340
>
> VM heap dump doesn't contain ConstantPool::_resolved_references for 
> classes which have resolved references.
>
> ConstantPool::_resolved_references points to an Object[] holding 
> resolved constant pool entries (patches for VM anonymous classes, 
> linked CallSite & MethodType for invokedynamic instructions).
>
> I've decided to use reserved slot in HPROF class header format.
> It requires an update in jhat to correctly display new info.
>
> The other approach I tried was to dump the reference as a fake static 
> field [1], but storing VM internal ConstantPool::_resolved_references 
> among user defined fields looks confusing.
>
> Testing: manual (verified that corresponding arrays are properly 
> linked in Nashorn heap dump).
>
> Thanks!
>
> Best regards,
> Vladimir Ivanov
>
> [1] http://cr.openjdk.java.net/~vlivanov/8059340/static



More information about the hotspot-dev mailing list