equal
deleted
inserted
replaced
489 // have already made any needed loader constraints. |
489 // have already made any needed loader constraints. |
490 // Since loader constraints are transitive, it is enough |
490 // Since loader constraints are transitive, it is enough |
491 // to link to the first super, and we get all the others. |
491 // to link to the first super, and we get all the others. |
492 Handle super_loader(THREAD, super_klass->class_loader()); |
492 Handle super_loader(THREAD, super_klass->class_loader()); |
493 |
493 |
494 if (!oopDesc::equals(target_loader(), super_loader())) { |
494 if (target_loader() != super_loader()) { |
495 ResourceMark rm(THREAD); |
495 ResourceMark rm(THREAD); |
496 Symbol* failed_type_symbol = |
496 Symbol* failed_type_symbol = |
497 SystemDictionary::check_signature_loaders(signature, target_loader, |
497 SystemDictionary::check_signature_loaders(signature, target_loader, |
498 super_loader, true, |
498 super_loader, true, |
499 CHECK_(false)); |
499 CHECK_(false)); |
1235 } else { |
1235 } else { |
1236 // Entry did resolve, check loader constraints before initializing |
1236 // Entry did resolve, check loader constraints before initializing |
1237 // if checkconstraints requested |
1237 // if checkconstraints requested |
1238 if (checkconstraints) { |
1238 if (checkconstraints) { |
1239 Handle method_holder_loader (THREAD, target->method_holder()->class_loader()); |
1239 Handle method_holder_loader (THREAD, target->method_holder()->class_loader()); |
1240 if (!oopDesc::equals(method_holder_loader(), interface_loader())) { |
1240 if (method_holder_loader() != interface_loader()) { |
1241 ResourceMark rm(THREAD); |
1241 ResourceMark rm(THREAD); |
1242 Symbol* failed_type_symbol = |
1242 Symbol* failed_type_symbol = |
1243 SystemDictionary::check_signature_loaders(m->signature(), |
1243 SystemDictionary::check_signature_loaders(m->signature(), |
1244 method_holder_loader, |
1244 method_holder_loader, |
1245 interface_loader, |
1245 interface_loader, |