8255493: Support for pre-generated java.lang.invoke classes in CDS dynamic archive

Reviewed-by: iklam, ccheung
This commit is contained in:
Yumin Qi 2021-05-04 17:18:43 +00:00
parent 770dfc1ec4
commit 8b37d48770
11 changed files with 260 additions and 59 deletions

View file

@ -503,7 +503,15 @@ void before_exit(JavaThread* thread) {
#if INCLUDE_CDS
if (DynamicDumpSharedSpaces) {
DynamicArchive::dump();
ExceptionMark em(thread);
DynamicArchive::dump(thread);
if (thread->has_pending_exception()) {
ResourceMark rm(thread);
oop pending_exception = thread->pending_exception();
log_error(cds)("ArchiveClassesAtExit has failed %s: %s", pending_exception->klass()->external_name(),
java_lang_String::as_utf8_string(java_lang_Throwable::message(pending_exception)));
thread->clear_pending_exception();
}
}
#endif