comparison src/share/vm/classfile/genericSignatures.cpp @ 10408:836a62f43af9

Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/
author Doug Simon <doug.simon@oracle.com>
date Wed, 19 Jun 2013 10:45:56 +0200
parents 41ed397cc0cd
children ef57c43512d6
comparison
equal deleted inserted replaced
10086:e0fb8a213650 10408:836a62f43af9
266 266
267 Symbol* outer_name = ik->constants()->klass_name_at(outer_index); 267 Symbol* outer_name = ik->constants()->klass_name_at(outer_index);
268 Klass* outer = SystemDictionary::find( 268 Klass* outer = SystemDictionary::find(
269 outer_name, class_loader, protection_domain, CHECK_NULL); 269 outer_name, class_loader, protection_domain, CHECK_NULL);
270 if (outer == NULL && !THREAD->is_Compiler_thread()) { 270 if (outer == NULL && !THREAD->is_Compiler_thread()) {
271 outer = SystemDictionary::resolve_super_or_fail(original_name, 271 if (outer_name == ik->super()->name()) {
272 outer_name, class_loader, protection_domain, false, CHECK_NULL); 272 outer = SystemDictionary::resolve_super_or_fail(original_name, outer_name,
273 class_loader, protection_domain,
274 false, CHECK_NULL);
275 }
276 else {
277 outer = SystemDictionary::resolve_or_fail(outer_name, class_loader,
278 protection_domain, false, CHECK_NULL);
279 }
273 } 280 }
274 281
275 InstanceKlass* outer_ik; 282 InstanceKlass* outer_ik;
276 ClassDescriptor* outer_spec = NULL; 283 ClassDescriptor* outer_spec = NULL;
277 if (outer == NULL) { 284 if (outer == NULL) {