Ping. jdk-submit tests came back clean.
Thanks, Thomas On Wed, Jun 6, 2018 at 6:05 PM, Thomas Stüfe <thomas.stu...@gmail.com> wrote: > Dear all, > > may I please have feedback and if possible reviews for this small addition: > > CR: https://bugs.openjdk.java.net/browse/JDK-8203343 > Webrev: > http://cr.openjdk.java.net/~stuefe/webrevs/8203343-VM.metaspace-show-reflection-invocation-targets/webrev.00/webrev/ > > (Note: this patch goes atop of > https://bugs.openjdk.java.net/browse/JDK-8203682, which is currently > up for RFR). > > --- > > When analyzing situations involving a lot of reflection, one often > stares at walls of "GeneratedXXXAccessorXXX" classes. These names are > generated and not at all helpful in analyzing the problem (e.g. which > component in a server node does this much reflection and hence uses so > much metaspace). > > This patch adds the ability to print out invocation targets > additionally to class names if the class is a generated accessor - for > now this ability has been added to VM.metaspace, VM.classloaders and > VM.class_hierarchy. > > Example output from "VM.class_hierarchy": > > <snip> > |--jdk.internal.reflect.MagicAccessorImpl/null > <snip> > | |--jdk.internal.reflect.ConstructorAccessorImpl/null > | | > |--jdk.internal.reflect.GeneratedConstructorAccessor18/0x00007f9ee8350c10 > (invokes: > org/springframework/boot/context/properties/ConfigurationPropertiesBindingPostProcessorRegistrar::<init> > ()V) > | | > |--jdk.internal.reflect.GeneratedConstructorAccessor17/0x00007f9ee8349c00 > (invokes: > org/springframework/boot/context/properties/EnableConfigurationPropertiesImportSelector$ConfigurationPropertiesBeanRegistrar::<init> > ()V) > <snip> > | |--jdk.internal.reflect.MethodAccessorImpl/null > | | |--jdk.internal.reflect.GeneratedMethodAccessor23/0x00007f9ec8329b60 > (invokes: org/apache/tomcat/util/modeler/AttributeInfo::setIs (Z)V) > | | |--jdk.internal.reflect.GeneratedMethodAccessor22/0x00007f9ee831bc70 > (invokes: > org/springframework/boot/autoconfigure/SpringBootApplication::exclude > ()[Ljava/lang/Class;) > <snip> > > See here more examples: > > "VM.class_hierarchy" > http://cr.openjdk.java.net/~stuefe/webrevs/8203343-VM.metaspace-show-reflection-invocation-targets/example-VM.class_hierarchy.txt > > "VM.classloaders show-classes" > http://cr.openjdk.java.net/~stuefe/webrevs/8203343-VM.metaspace-show-reflection-invocation-targets/example-VM.classloaders.txt > > > ---- > > Note: I am not sure if this is a fit for hotspot-runtime or > serviceability. Sorry for crossposting. > > Thank you, > > Thomas