comparison src/share/vm/classfile/systemDictionary.cpp @ 556:48bb4a49b7ac

6790209: server VM fails with assert(will_link,"_new: typeflow responsibility") Summary: Add missing code for reflection class loader in SystemDictionary::find(). Reviewed-by: never, jrose
author kvn
date Fri, 16 Jan 2009 11:23:10 -0800
parents a45484ea312d
children dca06e7f503d
comparison
equal deleted inserted replaced
555:35ae4dd6c27c 556:48bb4a49b7ac
839 klassOop SystemDictionary::find(symbolHandle class_name, 839 klassOop SystemDictionary::find(symbolHandle class_name,
840 Handle class_loader, 840 Handle class_loader,
841 Handle protection_domain, 841 Handle protection_domain,
842 TRAPS) { 842 TRAPS) {
843 843
844 // UseNewReflection
845 // The result of this call should be consistent with the result
846 // of the call to resolve_instance_class_or_null().
847 // See evaluation 6790209 and 4474172 for more details.
848 class_loader = Handle(THREAD, java_lang_ClassLoader::non_reflection_class_loader(class_loader()));
849
844 unsigned int d_hash = dictionary()->compute_hash(class_name, class_loader); 850 unsigned int d_hash = dictionary()->compute_hash(class_name, class_loader);
845 int d_index = dictionary()->hash_to_index(d_hash); 851 int d_index = dictionary()->hash_to_index(d_hash);
846 852
847 { 853 {
848 // Note that we have an entry, and entries can be deleted only during GC, 854 // Note that we have an entry, and entries can be deleted only during GC,