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