< prev index next >

src/hotspot/share/runtime/init.cpp

Print this page
rev 60025 : 8246476: remove AsyncDeflateIdleMonitors option and the safepoint based deflation mechanism


 153   stubRoutines_init2(); // note: StubRoutines need 2-phase init
 154   MethodHandles::generate_adapters();
 155 
 156   // All the flags that get adjusted by VM_Version_init and os::init_2
 157   // have been set so dump the flags now.
 158   if (PrintFlagsFinal || PrintFlagsRanges) {
 159     JVMFlag::printFlags(tty, false, PrintFlagsRanges);
 160   }
 161 
 162   return JNI_OK;
 163 }
 164 
 165 
 166 void exit_globals() {
 167   static bool destructorsCalled = false;
 168   if (!destructorsCalled) {
 169     destructorsCalled = true;
 170     if (log_is_enabled(Info, monitorinflation)) {
 171       // The ObjectMonitor subsystem uses perf counters so
 172       // do this before perfMemory_exit().
 173       // These other two audit_and_print_stats() calls are done at the
 174       // Debug level at a safepoint:
 175       // - for safepoint based deflation auditing:
 176       //   ObjectSynchronizer::finish_deflate_idle_monitors()
 177       // - for async deflation auditing:
 178       //   ObjectSynchronizer::do_safepoint_work()
 179       ObjectSynchronizer::audit_and_print_stats(true /* on_exit */);
 180     }
 181     perfMemory_exit();
 182     SafepointTracing::statistics_exit_log();
 183     if (PrintStringTableStatistics) {
 184       SymbolTable::dump(tty);
 185       StringTable::dump(tty);
 186     }
 187     ostream_exit();
 188   }
 189 }
 190 
 191 static volatile bool _init_completed = false;
 192 
 193 bool is_init_completed() {
 194   return Atomic::load_acquire(&_init_completed);
 195 }
 196 


 153   stubRoutines_init2(); // note: StubRoutines need 2-phase init
 154   MethodHandles::generate_adapters();
 155 
 156   // All the flags that get adjusted by VM_Version_init and os::init_2
 157   // have been set so dump the flags now.
 158   if (PrintFlagsFinal || PrintFlagsRanges) {
 159     JVMFlag::printFlags(tty, false, PrintFlagsRanges);
 160   }
 161 
 162   return JNI_OK;
 163 }
 164 
 165 
 166 void exit_globals() {
 167   static bool destructorsCalled = false;
 168   if (!destructorsCalled) {
 169     destructorsCalled = true;
 170     if (log_is_enabled(Info, monitorinflation)) {
 171       // The ObjectMonitor subsystem uses perf counters so
 172       // do this before perfMemory_exit().
 173       // This other audit_and_print_stats() call is done at the
 174       // Debug level at a safepoint:


 175       // - for async deflation auditing:
 176       //   ObjectSynchronizer::do_safepoint_work()
 177       ObjectSynchronizer::audit_and_print_stats(true /* on_exit */);
 178     }
 179     perfMemory_exit();
 180     SafepointTracing::statistics_exit_log();
 181     if (PrintStringTableStatistics) {
 182       SymbolTable::dump(tty);
 183       StringTable::dump(tty);
 184     }
 185     ostream_exit();
 186   }
 187 }
 188 
 189 static volatile bool _init_completed = false;
 190 
 191 bool is_init_completed() {
 192   return Atomic::load_acquire(&_init_completed);
 193 }
 194 
< prev index next >