2995 } 2996 } 2997 }; 2998 2999 // Combining platform and system loader dictionaries into boot loader dictionary. 3000 // During run time, we only have one shared dictionary. 3001 void SystemDictionary::combine_shared_dictionaries() { 3002 assert(DumpSharedSpaces, "dump time only"); 3003 Dictionary* master_dictionary = ClassLoaderData::the_null_class_loader_data()->dictionary(); 3004 CombineDictionariesClosure cdc(master_dictionary); 3005 ClassLoaderDataGraph::cld_do(&cdc); 3006 3007 // These tables are no longer valid or necessary. Keeping them around will 3008 // cause SystemDictionary::verify() to fail. Let's empty them. 3009 _placeholders = new PlaceholderTable(_placeholder_table_size); 3010 _loader_constraints = new LoaderConstraintTable(_loader_constraint_size); 3011 3012 NOT_PRODUCT(SystemDictionary::verify()); 3013 } 3014 3015 // caller needs ResourceMark 3016 const char* SystemDictionary::loader_name(const oop loader) { 3017 return ((loader) == NULL ? "<bootloader>" : 3018 InstanceKlass::cast((loader)->klass())->name()->as_C_string()); 3019 } 3020 3021 // caller needs ResourceMark 3022 const char* SystemDictionary::loader_name(const ClassLoaderData* loader_data) { 3023 return (loader_data->class_loader() == NULL ? "<bootloader>" : 3024 SystemDictionary::loader_name(loader_data->class_loader())); 3025 } 3026 3027 void SystemDictionary::initialize_oop_storage() { 3028 _vm_weak_oop_storage = 3029 new OopStorage("VM Weak Oop Handles", 3030 VMWeakAlloc_lock, 3031 VMWeakActive_lock); 3032 } 3033 3034 OopStorage* SystemDictionary::vm_weak_oop_storage() { 3035 assert(_vm_weak_oop_storage != NULL, "Uninitialized"); 3036 return _vm_weak_oop_storage; 3037 } | 2995 } 2996 } 2997 }; 2998 2999 // Combining platform and system loader dictionaries into boot loader dictionary. 3000 // During run time, we only have one shared dictionary. 3001 void SystemDictionary::combine_shared_dictionaries() { 3002 assert(DumpSharedSpaces, "dump time only"); 3003 Dictionary* master_dictionary = ClassLoaderData::the_null_class_loader_data()->dictionary(); 3004 CombineDictionariesClosure cdc(master_dictionary); 3005 ClassLoaderDataGraph::cld_do(&cdc); 3006 3007 // These tables are no longer valid or necessary. Keeping them around will 3008 // cause SystemDictionary::verify() to fail. Let's empty them. 3009 _placeholders = new PlaceholderTable(_placeholder_table_size); 3010 _loader_constraints = new LoaderConstraintTable(_loader_constraint_size); 3011 3012 NOT_PRODUCT(SystemDictionary::verify()); 3013 } 3014 3015 void SystemDictionary::initialize_oop_storage() { 3016 _vm_weak_oop_storage = 3017 new OopStorage("VM Weak Oop Handles", 3018 VMWeakAlloc_lock, 3019 VMWeakActive_lock); 3020 } 3021 3022 OopStorage* SystemDictionary::vm_weak_oop_storage() { 3023 assert(_vm_weak_oop_storage != NULL, "Uninitialized"); 3024 return _vm_weak_oop_storage; 3025 } |