< prev index next >

src/jdk.hotspot.agent/share/classes/sun/jvm/hotspot/classfile/ClassLoaderData.java

Print this page

        

*** 42,59 **** private static synchronized void initialize(TypeDataBase db) throws WrongTypeException { Type type = db.lookupType("ClassLoaderData"); classLoaderFieldOffset = type.getAddressField("_class_loader").getOffset(); nextField = type.getAddressField("_next"); klassesField = new MetadataField(type.getAddressField("_klasses"), 0); ! isUnsafeAnonymousField = new CIntField(type.getCIntegerField("_is_unsafe_anonymous"), 0); dictionaryField = type.getAddressField("_dictionary"); } private static long classLoaderFieldOffset; private static AddressField nextField; private static MetadataField klassesField; ! private static CIntField isUnsafeAnonymousField; private static AddressField dictionaryField; public ClassLoaderData(Address addr) { super(addr); } --- 42,59 ---- private static synchronized void initialize(TypeDataBase db) throws WrongTypeException { Type type = db.lookupType("ClassLoaderData"); classLoaderFieldOffset = type.getAddressField("_class_loader").getOffset(); nextField = type.getAddressField("_next"); klassesField = new MetadataField(type.getAddressField("_klasses"), 0); ! isShortlivedField = new CIntField(type.getCIntegerField("_is_shortlived"), 0); dictionaryField = type.getAddressField("_dictionary"); } private static long classLoaderFieldOffset; private static AddressField nextField; private static MetadataField klassesField; ! private static CIntField isShortlivedField; private static AddressField dictionaryField; public ClassLoaderData(Address addr) { super(addr); }
*** 74,85 **** Address addr = getAddress().addOffsetTo(classLoaderFieldOffset); VMOopHandle vmOopHandle = VMObjectFactory.newObject(VMOopHandle.class, addr); return vmOopHandle.resolve(); } ! public boolean getisUnsafeAnonymous() { ! return isUnsafeAnonymousField.getValue(this) != 0; } public ClassLoaderData next() { return instantiateWrapperFor(nextField.getValue(getAddress())); } --- 74,85 ---- Address addr = getAddress().addOffsetTo(classLoaderFieldOffset); VMOopHandle vmOopHandle = VMObjectFactory.newObject(VMOopHandle.class, addr); return vmOopHandle.resolve(); } ! public boolean getisShortlived() { ! return isShortlivedField.getValue(this) != 0; } public ClassLoaderData next() { return instantiateWrapperFor(nextField.getValue(getAddress())); }
< prev index next >