< prev index next >
src/hotspot/share/oops/instanceKlass.cpp
Print this page
rev 59477 : [mq]: cds_lambda
*** 2484,2494 ****
PackageEntry* pkg_entry, TRAPS) {
// SystemDictionary::add_to_hierarchy() sets the init_state to loaded
// before the InstanceKlass is added to the SystemDictionary. Make
// sure the current state is <loaded.
assert(!is_loaded(), "invalid init state");
! set_package(loader_data, pkg_entry, CHECK);
Klass::restore_unshareable_info(loader_data, protection_domain, CHECK);
Array<Method*>* methods = this->methods();
int num_methods = methods->length();
for (int index = 0; index < num_methods; ++index) {
--- 2484,2494 ----
PackageEntry* pkg_entry, TRAPS) {
// SystemDictionary::add_to_hierarchy() sets the init_state to loaded
// before the InstanceKlass is added to the SystemDictionary. Make
// sure the current state is <loaded.
assert(!is_loaded(), "invalid init state");
! set_package(ClassLoaderData::class_loader_data_or_null(loader_data->class_loader()), pkg_entry, CHECK);
Klass::restore_unshareable_info(loader_data, protection_domain, CHECK);
Array<Method*>* methods = this->methods();
int num_methods = methods->length();
for (int index = 0; index < num_methods; ++index) {
*** 2534,2543 ****
--- 2534,2556 ----
ShouldNotReachHere();
break;
}
}
+ void InstanceKlass::assign_class_loader_type() {
+ ClassLoaderData *cld = class_loader_data();
+ if (cld->is_boot_class_loader_data()) {
+ set_shared_class_loader_type(ClassLoader::BOOT_LOADER);
+ }
+ else if (cld->is_platform_class_loader_data()) {
+ set_shared_class_loader_type(ClassLoader::PLATFORM_LOADER);
+ }
+ else if (cld->is_system_class_loader_data()) {
+ set_shared_class_loader_type(ClassLoader::APP_LOADER);
+ }
+ }
+
#if INCLUDE_JVMTI
static void clear_all_breakpoints(Method* m) {
m->clear_all_breakpoints();
}
#endif
< prev index next >