# HG changeset patch # User rasbold # Date 1207254793 25200 # Node ID 541929da62d210cd6bf53e11f2a821b87da9ea98 # Parent 38a50dd839cf11bfc86226ea8516da6f17a844a6 6624474: Server compiler generates unexpected LinkageError Summary: Fix load_signature_classes to tolerate LinkageErrors Reviewed-by: kvn, never diff -r 38a50dd839cf -r 541929da62d2 src/share/vm/oops/methodOop.cpp --- a/src/share/vm/oops/methodOop.cpp Thu Apr 03 10:20:44 2008 -0700 +++ b/src/share/vm/oops/methodOop.cpp Thu Apr 03 13:33:13 2008 -0700 @@ -888,10 +888,11 @@ symbolHandle name (THREAD, sym); klassOop klass = SystemDictionary::resolve_or_null(name, class_loader, protection_domain, THREAD); - // We are loading classes eagerly. If a ClassNotFoundException was generated, - // be sure to ignore it. + // We are loading classes eagerly. If a ClassNotFoundException or + // a LinkageError was generated, be sure to ignore it. 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; } else { return false;