Mercurial > hg > graal-jvmci-8
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, |