src/share/vm/memory/universe.cpp

Print this page
rev 4165 : 8000754: NPG: Implement a MemoryPool MXBean for Metaspace


1089   Universe::_loader_addClass_cache->init(
1090     SystemDictionary::ClassLoader_klass(), m, CHECK_false);
1091 
1092   // The folowing is initializing converter functions for serialization in
1093   // JVM.cpp. If we clean up the StrictMath code above we may want to find
1094   // a better solution for this as well.
1095   initialize_converter_functions();
1096 
1097   // This needs to be done before the first scavenge/gc, since
1098   // it's an input to soft ref clearing policy.
1099   {
1100     MutexLocker x(Heap_lock);
1101     Universe::update_heap_info_at_gc();
1102   }
1103 
1104   // ("weak") refs processing infrastructure initialization
1105   Universe::heap()->post_initialize();
1106 
1107   // Initialize performance counters for metaspaces
1108   MetaspaceCounters::initialize_performance_counters();

1109 
1110   GC_locker::unlock();  // allow gc after bootstrapping
1111 
1112   MemoryService::set_universe_heap(Universe::_collectedHeap);
1113   return true;
1114 }
1115 
1116 
1117 void Universe::compute_base_vtable_size() {
1118   _base_vtable_size = ClassLoader::compute_Object_vtable();
1119 }
1120 
1121 
1122 // %%% The Universe::flush_foo methods belong in CodeCache.
1123 
1124 // Flushes compiled methods dependent on dependee.
1125 void Universe::flush_dependents_on(instanceKlassHandle dependee) {
1126   assert_lock_strong(Compile_lock);
1127 
1128   if (CodeCache::number_of_nmethods_with_dependencies() == 0) return;




1089   Universe::_loader_addClass_cache->init(
1090     SystemDictionary::ClassLoader_klass(), m, CHECK_false);
1091 
1092   // The folowing is initializing converter functions for serialization in
1093   // JVM.cpp. If we clean up the StrictMath code above we may want to find
1094   // a better solution for this as well.
1095   initialize_converter_functions();
1096 
1097   // This needs to be done before the first scavenge/gc, since
1098   // it's an input to soft ref clearing policy.
1099   {
1100     MutexLocker x(Heap_lock);
1101     Universe::update_heap_info_at_gc();
1102   }
1103 
1104   // ("weak") refs processing infrastructure initialization
1105   Universe::heap()->post_initialize();
1106 
1107   // Initialize performance counters for metaspaces
1108   MetaspaceCounters::initialize_performance_counters();
1109   MemoryService::add_metaspace_memory_pools();
1110 
1111   GC_locker::unlock();  // allow gc after bootstrapping
1112 
1113   MemoryService::set_universe_heap(Universe::_collectedHeap);
1114   return true;
1115 }
1116 
1117 
1118 void Universe::compute_base_vtable_size() {
1119   _base_vtable_size = ClassLoader::compute_Object_vtable();
1120 }
1121 
1122 
1123 // %%% The Universe::flush_foo methods belong in CodeCache.
1124 
1125 // Flushes compiled methods dependent on dependee.
1126 void Universe::flush_dependents_on(instanceKlassHandle dependee) {
1127   assert_lock_strong(Compile_lock);
1128 
1129   if (CodeCache::number_of_nmethods_with_dependencies() == 0) return;