comparison src/share/vm/interpreter/linkResolver.cpp @ 17666:a81bc2b2c4d3

8032010: Attempt to resolve abstract method in concrete class fails with AbstractMethodError Summary: removing a check in LinkResolver::resolve_method() to conform with a change in JVMS-8 5.4.3.3. Method Resolution Reviewed-by: coleenp, lfoltan
author ccheung
date Wed, 05 Feb 2014 15:14:47 -0800
parents 1a023fd29afb
children d8041d695d19 386dd1c71858
comparison
equal deleted inserted replaced
17665:10c9507f544a 17666:a81bc2b2c4d3
562 method_signature), 562 method_signature),
563 nested_exception); 563 nested_exception);
564 } 564 }
565 } 565 }
566 566
567 // 5. check if method is concrete 567 // 5. access checks, access checking may be turned off when calling from within the VM.
568 if (resolved_method->is_abstract() && !resolved_klass->is_abstract()) {
569 ResourceMark rm(THREAD);
570 THROW_MSG(vmSymbols::java_lang_AbstractMethodError(),
571 Method::name_and_sig_as_C_string(resolved_klass(),
572 method_name,
573 method_signature));
574 }
575
576 // 6. access checks, access checking may be turned off when calling from within the VM.
577 if (check_access) { 568 if (check_access) {
578 assert(current_klass.not_null() , "current_klass should not be null"); 569 assert(current_klass.not_null() , "current_klass should not be null");
579 570
580 // check if method can be accessed by the referring class 571 // check if method can be accessed by the referring class
581 check_method_accessability(current_klass, 572 check_method_accessability(current_klass,