753 |
753 |
754 bool SystemDictionaryShared::add_verification_constraint(InstanceKlass* k, Symbol* name, |
754 bool SystemDictionaryShared::add_verification_constraint(InstanceKlass* k, Symbol* name, |
755 Symbol* from_name, bool from_field_is_protected, bool from_is_array, bool from_is_object) { |
755 Symbol* from_name, bool from_field_is_protected, bool from_is_array, bool from_is_object) { |
756 assert(DumpSharedSpaces, "called at dump time only"); |
756 assert(DumpSharedSpaces, "called at dump time only"); |
757 |
757 |
758 // Skip anonymous classes, which are not archived as they are not in |
758 // Skip unsafe anonymous classes, which are not archived as they are not in |
759 // dictionary (see assert_no_anonymoys_classes_in_dictionaries() in |
759 // dictionary (see assert_no_unsafe_anonymous_classes_in_dictionaries() in |
760 // VM_PopulateDumpSharedSpace::doit()). |
760 // VM_PopulateDumpSharedSpace::doit()). |
761 if (k->class_loader_data()->is_anonymous()) { |
761 if (k->class_loader_data()->is_unsafe_anonymous()) { |
762 return true; // anonymous classes are not archived, skip |
762 return true; // unsafe anonymous classes are not archived, skip |
763 } |
763 } |
764 |
764 |
765 SharedDictionaryEntry* entry = ((SharedDictionary*)(k->class_loader_data()->dictionary()))->find_entry_for(k); |
765 SharedDictionaryEntry* entry = ((SharedDictionary*)(k->class_loader_data()->dictionary()))->find_entry_for(k); |
766 ResourceMark rm; |
766 ResourceMark rm; |
767 // Lambda classes are not archived and will be regenerated at runtime. |
767 // Lambda classes are not archived and will be regenerated at runtime. |