< prev index next > src/hotspot/share/cds/cdsHeapVerifier.cpp
Print this page
if (CDSConfig::is_dumping_aot_linked_classes()) {
ADD_EXCL("java/lang/Package$VersionInfo", "NULL_VERSION_INFO"); // D
}
+ if (CDSConfig::is_dumping_dynamic_proxies()) {
+ ADD_EXCL("java/lang/reflect/ProxyGenerator", "CD_Object_array"); // D
+ }
+
+ // These are used by BuiltinClassLoader::negativeLookupCache, etc but seem to be
+ // OK. TODO - we should completely disable the caching unless ArchiveLoaderLookupCache
+ // is enabled
+ ADD_EXCL("java/lang/Boolean", "TRUE", // E
+ "FALSE"); // E
+
# undef ADD_EXCL
ClassLoaderDataGraph::classes_do(this);
}
void do_field(fieldDescriptor* fd) {
if (fd->field_type() != T_OBJECT) {
return;
}
- if (fd->signature()->equals("Ljdk/internal/access/JavaLangAccess;")) {
- // A few classes have static fields that point to SharedSecrets.getJavaLangAccess().
+ if (fd->signature()->equals("Ljdk/internal/access/JavaLangAccess;") ||
+ fd->signature()->equals("Ljdk/internal/access/JavaLangReflectAccess;")) {
+ // A few classes have static fields that point to SharedSecrets.get???Access().
// This object carries no state and we can create a new one in the production run.
return;
}
+ if (fd->signature()->equals("Ljdk/internal/reflect/ReflectionFactory;")) {
+ return;
+ }
oop static_obj_field = _ik->java_mirror()->obj_field(fd->offset());
if (static_obj_field != nullptr) {
Klass* field_type = static_obj_field->klass();
if (_exclusions != nullptr) {
for (const char** p = _exclusions; *p != nullptr; p++) {
< prev index next >