< prev index next >

src/hotspot/share/oops/instanceKlass.cpp

Print this page
rev 59635 : [mq]: cds_lambda


2585   }
2586 }
2587 
2588 void InstanceKlass::set_shared_class_loader_type(s2 loader_type) {
2589   switch (loader_type) {
2590   case ClassLoader::BOOT_LOADER:
2591     _misc_flags |= _misc_is_shared_boot_class;
2592     break;
2593   case ClassLoader::PLATFORM_LOADER:
2594     _misc_flags |= _misc_is_shared_platform_class;
2595     break;
2596   case ClassLoader::APP_LOADER:
2597     _misc_flags |= _misc_is_shared_app_class;
2598     break;
2599   default:
2600     ShouldNotReachHere();
2601     break;
2602   }
2603 }
2604 













2605 #if INCLUDE_JVMTI
2606 static void clear_all_breakpoints(Method* m) {
2607   m->clear_all_breakpoints();
2608 }
2609 #endif
2610 
2611 void InstanceKlass::unload_class(InstanceKlass* ik) {
2612   // Release dependencies.
2613   ik->dependencies().remove_all_dependents();
2614 
2615   // notify the debugger
2616   if (JvmtiExport::should_post_class_unload()) {
2617     JvmtiExport::post_class_unload(ik);
2618   }
2619 
2620   // notify ClassLoadingService of class unload
2621   ClassLoadingService::notify_class_unloaded(ik);
2622 
2623   if (Arguments::is_dumping_archive()) {
2624     SystemDictionaryShared::remove_dumptime_info(ik);




2585   }
2586 }
2587 
2588 void InstanceKlass::set_shared_class_loader_type(s2 loader_type) {
2589   switch (loader_type) {
2590   case ClassLoader::BOOT_LOADER:
2591     _misc_flags |= _misc_is_shared_boot_class;
2592     break;
2593   case ClassLoader::PLATFORM_LOADER:
2594     _misc_flags |= _misc_is_shared_platform_class;
2595     break;
2596   case ClassLoader::APP_LOADER:
2597     _misc_flags |= _misc_is_shared_app_class;
2598     break;
2599   default:
2600     ShouldNotReachHere();
2601     break;
2602   }
2603 }
2604 
2605 void InstanceKlass::assign_class_loader_type() {
2606   ClassLoaderData *cld = class_loader_data();
2607   if (cld->is_boot_class_loader_data()) {
2608     set_shared_class_loader_type(ClassLoader::BOOT_LOADER);
2609   }
2610   else if (cld->is_platform_class_loader_data()) {
2611     set_shared_class_loader_type(ClassLoader::PLATFORM_LOADER);
2612   }
2613   else if (cld->is_system_class_loader_data()) {
2614     set_shared_class_loader_type(ClassLoader::APP_LOADER);
2615   }
2616 }
2617 
2618 #if INCLUDE_JVMTI
2619 static void clear_all_breakpoints(Method* m) {
2620   m->clear_all_breakpoints();
2621 }
2622 #endif
2623 
2624 void InstanceKlass::unload_class(InstanceKlass* ik) {
2625   // Release dependencies.
2626   ik->dependencies().remove_all_dependents();
2627 
2628   // notify the debugger
2629   if (JvmtiExport::should_post_class_unload()) {
2630     JvmtiExport::post_class_unload(ik);
2631   }
2632 
2633   // notify ClassLoadingService of class unload
2634   ClassLoadingService::notify_class_unloaded(ik);
2635 
2636   if (Arguments::is_dumping_archive()) {
2637     SystemDictionaryShared::remove_dumptime_info(ik);


< prev index next >