comparison agent/src/share/classes/sun/jvm/hotspot/oops/InstanceKlass.java @ 10343:6bd680e9ea35

8003421: NPG: Move oops out of InstanceKlass into mirror Summary: Inject protection_domain, signers, init_lock into java_lang_Class Reviewed-by: stefank, dholmes, sla
author coleenp
date Wed, 22 May 2013 14:37:49 -0400
parents e94ed1591b42
children e22ee8e7ae62
comparison
equal deleted inserted replaced
10342:1a07e086ff28 10343:6bd680e9ea35
73 transitiveInterfaces = type.getAddressField("_transitive_interfaces"); 73 transitiveInterfaces = type.getAddressField("_transitive_interfaces");
74 fields = type.getAddressField("_fields"); 74 fields = type.getAddressField("_fields");
75 javaFieldsCount = new CIntField(type.getCIntegerField("_java_fields_count"), 0); 75 javaFieldsCount = new CIntField(type.getCIntegerField("_java_fields_count"), 0);
76 constants = new MetadataField(type.getAddressField("_constants"), 0); 76 constants = new MetadataField(type.getAddressField("_constants"), 0);
77 classLoaderData = type.getAddressField("_class_loader_data"); 77 classLoaderData = type.getAddressField("_class_loader_data");
78 protectionDomain = new OopField(type.getOopField("_protection_domain"), 0);
79 signers = new OopField(type.getOopField("_signers"), 0);
80 sourceFileName = type.getAddressField("_source_file_name"); 78 sourceFileName = type.getAddressField("_source_file_name");
81 sourceDebugExtension = type.getAddressField("_source_debug_extension"); 79 sourceDebugExtension = type.getAddressField("_source_debug_extension");
82 innerClasses = type.getAddressField("_inner_classes"); 80 innerClasses = type.getAddressField("_inner_classes");
83 nonstaticFieldSize = new CIntField(type.getCIntegerField("_nonstatic_field_size"), 0); 81 nonstaticFieldSize = new CIntField(type.getCIntegerField("_nonstatic_field_size"), 0);
84 staticFieldSize = new CIntField(type.getCIntegerField("_static_field_size"), 0); 82 staticFieldSize = new CIntField(type.getCIntegerField("_static_field_size"), 0);
134 private static AddressField transitiveInterfaces; 132 private static AddressField transitiveInterfaces;
135 private static AddressField fields; 133 private static AddressField fields;
136 private static CIntField javaFieldsCount; 134 private static CIntField javaFieldsCount;
137 private static MetadataField constants; 135 private static MetadataField constants;
138 private static AddressField classLoaderData; 136 private static AddressField classLoaderData;
139 private static OopField protectionDomain;
140 private static OopField signers;
141 private static AddressField sourceFileName; 137 private static AddressField sourceFileName;
142 private static AddressField sourceDebugExtension; 138 private static AddressField sourceDebugExtension;
143 private static AddressField innerClasses; 139 private static AddressField innerClasses;
144 private static CIntField nonstaticFieldSize; 140 private static CIntField nonstaticFieldSize;
145 private static CIntField staticFieldSize; 141 private static CIntField staticFieldSize;
348 return allFieldsCount; 344 return allFieldsCount;
349 } 345 }
350 public ConstantPool getConstants() { return (ConstantPool) constants.getValue(this); } 346 public ConstantPool getConstants() { return (ConstantPool) constants.getValue(this); }
351 public ClassLoaderData getClassLoaderData() { return ClassLoaderData.instantiateWrapperFor(classLoaderData.getValue(getAddress())); } 347 public ClassLoaderData getClassLoaderData() { return ClassLoaderData.instantiateWrapperFor(classLoaderData.getValue(getAddress())); }
352 public Oop getClassLoader() { return getClassLoaderData().getClassLoader(); } 348 public Oop getClassLoader() { return getClassLoaderData().getClassLoader(); }
353 public Oop getProtectionDomain() { return protectionDomain.getValue(this); }
354 public ObjArray getSigners() { return (ObjArray) signers.getValue(this); }
355 public Symbol getSourceFileName() { return getSymbol(sourceFileName); } 349 public Symbol getSourceFileName() { return getSymbol(sourceFileName); }
356 public String getSourceDebugExtension(){ return CStringUtilities.getString(sourceDebugExtension.getValue(getAddress())); } 350 public String getSourceDebugExtension(){ return CStringUtilities.getString(sourceDebugExtension.getValue(getAddress())); }
357 public long getNonstaticFieldSize() { return nonstaticFieldSize.getValue(this); } 351 public long getNonstaticFieldSize() { return nonstaticFieldSize.getValue(this); }
358 public long getStaticOopFieldCount() { return staticOopFieldCount.getValue(this); } 352 public long getStaticOopFieldCount() { return staticOopFieldCount.getValue(this); }
359 public long getNonstaticOopMapSize() { return nonstaticOopMapSize.getValue(this); } 353 public long getNonstaticOopMapSize() { return nonstaticOopMapSize.getValue(this); }
539 super.iterateFields(visitor); 533 super.iterateFields(visitor);
540 visitor.doMetadata(arrayKlasses, true); 534 visitor.doMetadata(arrayKlasses, true);
541 // visitor.doOop(methods, true); 535 // visitor.doOop(methods, true);
542 // visitor.doOop(localInterfaces, true); 536 // visitor.doOop(localInterfaces, true);
543 // visitor.doOop(transitiveInterfaces, true); 537 // visitor.doOop(transitiveInterfaces, true);
544 visitor.doOop(protectionDomain, true);
545 visitor.doOop(signers, true);
546 visitor.doCInt(nonstaticFieldSize, true); 538 visitor.doCInt(nonstaticFieldSize, true);
547 visitor.doCInt(staticFieldSize, true); 539 visitor.doCInt(staticFieldSize, true);
548 visitor.doCInt(staticOopFieldCount, true); 540 visitor.doCInt(staticOopFieldCount, true);
549 visitor.doCInt(nonstaticOopMapSize, true); 541 visitor.doCInt(nonstaticOopMapSize, true);
550 visitor.doCInt(isMarkedDependent, true); 542 visitor.doCInt(isMarkedDependent, true);