--- old/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/classfile/ClassLoaderData.java 2020-03-26 16:01:03.000000000 -0700 +++ new/src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/classfile/ClassLoaderData.java 2020-03-26 16:01:03.000000000 -0700 @@ -44,12 +44,14 @@ classLoaderFieldOffset = type.getAddressField("_class_loader").getOffset(); nextField = type.getAddressField("_next"); klassesField = new MetadataField(type.getAddressField("_klasses"), 0); + hasClassMirrorHolderField = new CIntField(type.getCIntegerField("_has_class_mirror_holder"), 0); dictionaryField = type.getAddressField("_dictionary"); } private static long classLoaderFieldOffset; private static AddressField nextField; private static MetadataField klassesField; + private static CIntField hasClassMirrorHolderField; private static AddressField dictionaryField; public ClassLoaderData(Address addr) { @@ -74,6 +76,10 @@ return vmOopHandle.resolve(); } + public boolean gethasClassMirrorHolder() { + return hasClassMirrorHolderField.getValue(this) != 0; + } + public ClassLoaderData next() { return instantiateWrapperFor(nextField.getValue(getAddress())); }