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);
|