6624474: Server compiler generates unexpected LinkageError
Fix load_signature_classes to tolerate LinkageErrors Reviewed-by: kvn, never
This commit is contained in:
parent
89290f2817
commit
21dbe47a30
@ -888,10 +888,11 @@ bool methodOopDesc::load_signature_classes(methodHandle m, TRAPS) {
|
|||||||
symbolHandle name (THREAD, sym);
|
symbolHandle name (THREAD, sym);
|
||||||
klassOop klass = SystemDictionary::resolve_or_null(name, class_loader,
|
klassOop klass = SystemDictionary::resolve_or_null(name, class_loader,
|
||||||
protection_domain, THREAD);
|
protection_domain, THREAD);
|
||||||
// We are loading classes eagerly. If a ClassNotFoundException was generated,
|
// We are loading classes eagerly. If a ClassNotFoundException or
|
||||||
// be sure to ignore it.
|
// a LinkageError was generated, be sure to ignore it.
|
||||||
if (HAS_PENDING_EXCEPTION) {
|
if (HAS_PENDING_EXCEPTION) {
|
||||||
if (PENDING_EXCEPTION->is_a(SystemDictionary::classNotFoundException_klass())) {
|
if (PENDING_EXCEPTION->is_a(SystemDictionary::classNotFoundException_klass()) ||
|
||||||
|
PENDING_EXCEPTION->is_a(SystemDictionary::linkageError_klass())) {
|
||||||
CLEAR_PENDING_EXCEPTION;
|
CLEAR_PENDING_EXCEPTION;
|
||||||
} else {
|
} else {
|
||||||
return false;
|
return false;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user