< prev index next >

src/share/vm/runtime/java.cpp

Print this page
rev 13105 : imported patch 8181917-refactor-ul-logstream-alt1-callsite-changes


  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "aot/aotLoader.hpp"
  27 #include "classfile/classLoader.hpp"
  28 #include "classfile/stringTable.hpp"
  29 #include "classfile/systemDictionary.hpp"
  30 #include "code/codeCache.hpp"
  31 #include "compiler/compileBroker.hpp"
  32 #include "compiler/compilerOracle.hpp"
  33 #include "gc/shared/genCollectedHeap.hpp"
  34 #include "interpreter/bytecodeHistogram.hpp"
  35 #if INCLUDE_JVMCI
  36 #include "jvmci/jvmciCompiler.hpp"
  37 #include "jvmci/jvmciRuntime.hpp"
  38 #endif
  39 #include "logging/log.hpp"

  40 #include "memory/oopFactory.hpp"
  41 #include "memory/resourceArea.hpp"
  42 #include "memory/universe.hpp"
  43 #include "oops/constantPool.hpp"
  44 #include "oops/generateOopMap.hpp"
  45 #include "oops/instanceKlass.hpp"
  46 #include "oops/instanceOop.hpp"
  47 #include "oops/method.hpp"
  48 #include "oops/objArrayOop.hpp"
  49 #include "oops/oop.inline.hpp"
  50 #include "oops/symbol.hpp"
  51 #include "prims/jvmtiExport.hpp"
  52 #include "runtime/arguments.hpp"
  53 #include "runtime/biasedLocking.hpp"
  54 #include "runtime/compilationPolicy.hpp"
  55 #include "runtime/deoptimization.hpp"
  56 #include "runtime/fprofiler.hpp"
  57 #include "runtime/init.hpp"
  58 #include "runtime/interfaceSupport.hpp"
  59 #include "runtime/java.hpp"


 462     WatcherThread::stop();
 463   }
 464 
 465   // Print statistics gathered (profiling ...)
 466   if (Arguments::has_profile()) {
 467     FlatProfiler::disengage();
 468     FlatProfiler::print(10);
 469   }
 470 
 471   // shut down the StatSampler task
 472   StatSampler::disengage();
 473   StatSampler::destroy();
 474 
 475   // Stop concurrent GC threads
 476   Universe::heap()->stop();
 477 
 478   // Print GC/heap related information.
 479   Log(gc, heap, exit) log;
 480   if (log.is_info()) {
 481     ResourceMark rm;
 482     Universe::print_on(log.info_stream());

 483     if (log.is_trace()) {
 484       ClassLoaderDataGraph::dump_on(log.trace_stream());

 485     }
 486   }
 487   AdaptiveSizePolicyOutput::print();
 488 
 489   if (PrintBytecodeHistogram) {
 490     BytecodeHistogram::print();
 491   }
 492 
 493   if (JvmtiExport::should_post_thread_life()) {
 494     JvmtiExport::post_thread_end(thread);
 495   }
 496 
 497   // Always call even when there are not JVMTI environments yet, since environments
 498   // may be attached late and JVMTI must track phases of VM execution
 499   JvmtiExport::post_vm_death();
 500   Threads::shutdown_vm_agents();
 501 
 502   // Terminate the signal thread
 503   // Note: we don't wait until it actually dies.
 504   os::terminate_signal_thread();




  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  *
  23  */
  24 
  25 #include "precompiled.hpp"
  26 #include "aot/aotLoader.hpp"
  27 #include "classfile/classLoader.hpp"
  28 #include "classfile/stringTable.hpp"
  29 #include "classfile/systemDictionary.hpp"
  30 #include "code/codeCache.hpp"
  31 #include "compiler/compileBroker.hpp"
  32 #include "compiler/compilerOracle.hpp"
  33 #include "gc/shared/genCollectedHeap.hpp"
  34 #include "interpreter/bytecodeHistogram.hpp"
  35 #if INCLUDE_JVMCI
  36 #include "jvmci/jvmciCompiler.hpp"
  37 #include "jvmci/jvmciRuntime.hpp"
  38 #endif
  39 #include "logging/log.hpp"
  40 #include "logging/logStream.hpp"
  41 #include "memory/oopFactory.hpp"
  42 #include "memory/resourceArea.hpp"
  43 #include "memory/universe.hpp"
  44 #include "oops/constantPool.hpp"
  45 #include "oops/generateOopMap.hpp"
  46 #include "oops/instanceKlass.hpp"
  47 #include "oops/instanceOop.hpp"
  48 #include "oops/method.hpp"
  49 #include "oops/objArrayOop.hpp"
  50 #include "oops/oop.inline.hpp"
  51 #include "oops/symbol.hpp"
  52 #include "prims/jvmtiExport.hpp"
  53 #include "runtime/arguments.hpp"
  54 #include "runtime/biasedLocking.hpp"
  55 #include "runtime/compilationPolicy.hpp"
  56 #include "runtime/deoptimization.hpp"
  57 #include "runtime/fprofiler.hpp"
  58 #include "runtime/init.hpp"
  59 #include "runtime/interfaceSupport.hpp"
  60 #include "runtime/java.hpp"


 463     WatcherThread::stop();
 464   }
 465 
 466   // Print statistics gathered (profiling ...)
 467   if (Arguments::has_profile()) {
 468     FlatProfiler::disengage();
 469     FlatProfiler::print(10);
 470   }
 471 
 472   // shut down the StatSampler task
 473   StatSampler::disengage();
 474   StatSampler::destroy();
 475 
 476   // Stop concurrent GC threads
 477   Universe::heap()->stop();
 478 
 479   // Print GC/heap related information.
 480   Log(gc, heap, exit) log;
 481   if (log.is_info()) {
 482     ResourceMark rm;
 483     LogStream ls_info(log.info());
 484     Universe::print_on(&ls_info);
 485     if (log.is_trace()) {
 486       LogStream ls_trace(log.trace());
 487       ClassLoaderDataGraph::dump_on(&ls_trace);
 488     }
 489   }
 490   AdaptiveSizePolicyOutput::print();
 491 
 492   if (PrintBytecodeHistogram) {
 493     BytecodeHistogram::print();
 494   }
 495 
 496   if (JvmtiExport::should_post_thread_life()) {
 497     JvmtiExport::post_thread_end(thread);
 498   }
 499 
 500   // Always call even when there are not JVMTI environments yet, since environments
 501   // may be attached late and JVMTI must track phases of VM execution
 502   JvmtiExport::post_vm_death();
 503   Threads::shutdown_vm_agents();
 504 
 505   // Terminate the signal thread
 506   // Note: we don't wait until it actually dies.
 507   os::terminate_signal_thread();


< prev index next >