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); |