1042
1043 void SystemDictionaryShared::remove_dumptime_info(InstanceKlass* k) {
1044 MutexLocker ml(DumpTimeTable_lock, Mutex::_no_safepoint_check_flag);
1045 DumpTimeSharedClassInfo* p = _dumptime_table->get(k);
1046 if (p == NULL) {
1047 return;
1048 }
1049 if (p->_verifier_constraints != NULL) {
1050 for (int i = 0; i < p->_verifier_constraints->length(); i++) {
1051 DumpTimeSharedClassInfo::DTConstraint constraint = p->_verifier_constraints->at(i);
1052 if (constraint._name != NULL ) {
1053 constraint._name->decrement_refcount();
1054 }
1055 if (constraint._from_name != NULL ) {
1056 constraint._from_name->decrement_refcount();
1057 }
1058 }
1059 FREE_C_HEAP_ARRAY(DTConstraint, p->_verifier_constraints);
1060 p->_verifier_constraints = NULL;
1061 }
1062 if (p->_verifier_constraint_flags != NULL) {
1063 FREE_C_HEAP_ARRAY(char, p->_verifier_constraint_flags);
1064 p->_verifier_constraint_flags = NULL;
1065 }
1066 _dumptime_table->remove(k);
1067 }
1068
1069 bool SystemDictionaryShared::is_jfr_event_class(InstanceKlass *k) {
1070 while (k) {
1071 if (k->name()->equals("jdk/internal/event/Event")) {
1072 return true;
1073 }
1074 k = k->java_super();
1075 }
1076 return false;
1077 }
1078
1079 void SystemDictionaryShared::warn_excluded(InstanceKlass* k, const char* reason) {
1080 ResourceMark rm;
1081 log_warning(cds)("Skipping %s: %s", k->name()->as_C_string(), reason);
1082 }
1083
1084 bool SystemDictionaryShared::should_be_excluded(InstanceKlass* k) {
1085 if (k->class_loader_data()->is_unsafe_anonymous()) {
|
1042
1043 void SystemDictionaryShared::remove_dumptime_info(InstanceKlass* k) {
1044 MutexLocker ml(DumpTimeTable_lock, Mutex::_no_safepoint_check_flag);
1045 DumpTimeSharedClassInfo* p = _dumptime_table->get(k);
1046 if (p == NULL) {
1047 return;
1048 }
1049 if (p->_verifier_constraints != NULL) {
1050 for (int i = 0; i < p->_verifier_constraints->length(); i++) {
1051 DumpTimeSharedClassInfo::DTConstraint constraint = p->_verifier_constraints->at(i);
1052 if (constraint._name != NULL ) {
1053 constraint._name->decrement_refcount();
1054 }
1055 if (constraint._from_name != NULL ) {
1056 constraint._from_name->decrement_refcount();
1057 }
1058 }
1059 FREE_C_HEAP_ARRAY(DTConstraint, p->_verifier_constraints);
1060 p->_verifier_constraints = NULL;
1061 }
1062 FREE_C_HEAP_ARRAY(char, p->_verifier_constraint_flags);
1063 p->_verifier_constraint_flags = NULL;
1064 _dumptime_table->remove(k);
1065 }
1066
1067 bool SystemDictionaryShared::is_jfr_event_class(InstanceKlass *k) {
1068 while (k) {
1069 if (k->name()->equals("jdk/internal/event/Event")) {
1070 return true;
1071 }
1072 k = k->java_super();
1073 }
1074 return false;
1075 }
1076
1077 void SystemDictionaryShared::warn_excluded(InstanceKlass* k, const char* reason) {
1078 ResourceMark rm;
1079 log_warning(cds)("Skipping %s: %s", k->name()->as_C_string(), reason);
1080 }
1081
1082 bool SystemDictionaryShared::should_be_excluded(InstanceKlass* k) {
1083 if (k->class_loader_data()->is_unsafe_anonymous()) {
|