< prev index next >
src/hotspot/share/classfile/systemDictionaryShared.cpp
Print this page
@@ -897,11 +897,11 @@
const ClassFileStream* cfs,
TRAPS) {
if (!UseSharedSpaces) {
return NULL;
}
- if (class_name == NULL) { // don't do this for anonymous classes
+ if (class_name == NULL) { // don't do this for hidden and unsafe anonymous classes
return NULL;
}
if (class_loader.is_null() ||
SystemDictionary::is_system_class_loader(class_loader()) ||
SystemDictionary::is_platform_class_loader(class_loader())) {
@@ -1076,13 +1076,13 @@
ResourceMark rm;
log_warning(cds)("Skipping %s: %s", k->name()->as_C_string(), reason);
}
bool SystemDictionaryShared::should_be_excluded(InstanceKlass* k) {
- if (k->class_loader_data()->is_unsafe_anonymous()) {
- warn_excluded(k, "Unsafe anonymous class");
- return true; // unsafe anonymous classes are not archived, skip
+ if (k->is_hidden() || k->is_unsafe_anonymous()) {
+ warn_excluded(k, "Hidden or Unsafe anonymous class");
+ return true; // hidden and unsafe anonymous classes are not archived, skip
}
if (k->is_in_error_state()) {
warn_excluded(k, "In error state");
return true;
}
< prev index next >