--- old/src/hotspot/share/classfile/systemDictionary.cpp 2020-06-05 01:14:45.650560056 +0000 +++ new/src/hotspot/share/classfile/systemDictionary.cpp 2020-06-05 01:14:44.222525308 +0000 @@ -699,7 +699,7 @@ return NULL; } -static void post_class_load_event(EventClassLoad* event, const InstanceKlass* k, const ClassLoaderData* init_cld) { +void SystemDictionary::post_class_load_event(EventClassLoad* event, const InstanceKlass* k, const ClassLoaderData* init_cld) { assert(event != NULL, "invariant"); assert(k != NULL, "invariant"); assert(event->should_commit(), "invariant"); @@ -1375,7 +1375,6 @@ Handle class_loader, Handle protection_domain, PackageEntry* pkg_entry, - bool initialize, TRAPS) { InstanceKlass* shared_nest_host = SystemDictionaryShared::get_shared_nest_host(ik); assert(shared_nest_host->is_shared(), "nest host must be in CDS archive"); @@ -1400,28 +1399,6 @@ assert(shared_nest_host->is_same_class_package(ik), "lambda proxy class and its nest host must be in the same package"); - EventClassLoad class_load_start_event; - { - MutexLocker mu_r(THREAD, Compile_lock); - - // Add to class hierarchy, initialize vtables, and do possible - // deoptimizations. - SystemDictionary::add_to_hierarchy(loaded_ik, CHECK_NULL); // No exception, but can block - // But, do not add to dictionary. - } - loaded_ik->link_class(CHECK_NULL); - // notify jvmti - if (JvmtiExport::should_post_class_load()) { - assert(THREAD->is_Java_thread(), "thread->is_Java_thread()"); - JvmtiExport::post_class_load((JavaThread *) THREAD, loaded_ik); - } - if (class_load_start_event.should_commit()) { - post_class_load_event(&class_load_start_event, loaded_ik, ClassLoaderData::class_loader_data(class_loader())); - } - - if (initialize) { - loaded_ik->initialize(CHECK_NULL); - } return loaded_ik; }