< prev index next >
src/hotspot/share/classfile/systemDictionary.cpp
Print this page
@@ -697,11 +697,11 @@
}
}
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");
event->set_loadedClass(k);
event->set_definingClassLoader(k->class_loader_data());
@@ -1373,11 +1373,10 @@
InstanceKlass* SystemDictionary::load_shared_lambda_proxy_class(InstanceKlass* ik,
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");
Symbol* cn = shared_nest_host->name();
Klass *s = resolve_or_fail(cn, class_loader, protection_domain, true, CHECK_NULL);
@@ -1398,32 +1397,10 @@
InstanceKlass* loaded_ik = load_shared_class(ik, class_loader, protection_domain, NULL, pkg_entry, CHECK_NULL);
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;
}
InstanceKlass* SystemDictionary::load_shared_class(InstanceKlass* ik,
Handle class_loader,
< prev index next >