< prev index next >

src/hotspot/share/classfile/systemDictionary.cpp

Print this page




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 }
< prev index next >