< prev index next >

src/share/vm/runtime/thread.cpp

Print this page
rev 11746 : imported patch init_fix
rev 11747 : [mq]: per.hotspot.patch
rev 11748 : imported patch pop_pl
rev 11750 : [mq]: revert_initorder


  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  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 "classfile/classLoader.hpp"
  27 #include "classfile/javaClasses.hpp"
  28 #include "classfile/moduleEntry.hpp"
  29 #include "classfile/systemDictionary.hpp"
  30 #include "classfile/vmSymbols.hpp"
  31 #include "code/codeCache.hpp"
  32 #include "code/codeCacheExtensions.hpp"
  33 #include "code/scopeDesc.hpp"
  34 #include "compiler/compileBroker.hpp"
  35 #include "compiler/compileTask.hpp"
  36 #include "gc/shared/gcId.hpp"
  37 #include "gc/shared/gcLocker.inline.hpp"
  38 #include "gc/shared/referencePendingListLocker.hpp"
  39 #include "gc/shared/workgroup.hpp"
  40 #include "interpreter/interpreter.hpp"
  41 #include "interpreter/linkResolver.hpp"
  42 #include "interpreter/oopMapCache.hpp"
  43 #include "jvmtifiles/jvmtiEnv.hpp"
  44 #include "logging/log.hpp"
  45 #include "logging/logConfiguration.hpp"
  46 #include "memory/metaspaceShared.hpp"
  47 #include "memory/oopFactory.hpp"
  48 #include "memory/resourceArea.hpp"
  49 #include "memory/universe.inline.hpp"
  50 #include "oops/instanceKlass.hpp"
  51 #include "oops/objArrayOop.hpp"
  52 #include "oops/oop.inline.hpp"
  53 #include "oops/symbol.hpp"
  54 #include "oops/verifyOopClosure.hpp"
  55 #include "prims/jvm_misc.hpp"
  56 #include "prims/jvmtiExport.hpp"
  57 #include "prims/jvmtiThreadState.hpp"
  58 #include "prims/privilegedStack.hpp"


3697   reset_vm_info_property(CHECK_JNI_ERR);
3698 
3699   quicken_jni_functions();
3700 
3701   // No more stub generation allowed after that point.
3702   StubCodeDesc::freeze();
3703 
3704   // Set flag that basic initialization has completed. Used by exceptions and various
3705   // debug stuff, that does not work until all basic classes have been initialized.
3706   set_init_completed();
3707 
3708   LogConfiguration::post_initialize();
3709   Metaspace::post_initialize();
3710 
3711   HOTSPOT_VM_INIT_END();
3712 
3713   // record VM initialization completion time
3714 #if INCLUDE_MANAGEMENT
3715   Management::record_vm_init_completed();
3716 #endif // INCLUDE_MANAGEMENT
3717 
3718   // Note that we do not use CHECK_0 here since we are inside an EXCEPTION_MARK and
3719   // set_init_completed has just been called, causing exceptions not to be shortcut
3720   // anymore. We call vm_exit_during_initialization directly instead.
3721 
3722   // Initialize reference pending list locker
3723   bool needs_locker_thread = Universe::heap()->needs_reference_pending_list_locker_thread();
3724   ReferencePendingListLocker::initialize(needs_locker_thread, CHECK_JNI_ERR);
3725 
3726   // Signal Dispatcher needs to be started before VMInit event is posted
3727   os::signal_init();
3728 
3729   // Start Attach Listener if +StartAttachListener or it can't be started lazily
3730   if (!DisableAttachMechanism) {
3731     AttachListener::vm_start();
3732     if (StartAttachListener || AttachListener::init_at_startup()) {
3733       AttachListener::init();
3734     }
3735   }
3736 
3737   // Launch -Xrun agents
3738   // Must be done in the JVMTI live phase so that for backward compatibility the JDWP
3739   // back-end can launch with -Xdebug -Xrunjdwp.
3740   if (!EagerXrunInit && Arguments::init_libraries_at_startup()) {
3741     create_vm_init_libraries();
3742   }
3743 
3744   if (CleanChunkPoolAsync) {




  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  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 "classfile/classLoader.hpp"
  27 #include "classfile/javaClasses.hpp"
  28 #include "classfile/moduleEntry.hpp"
  29 #include "classfile/systemDictionary.hpp"
  30 #include "classfile/vmSymbols.hpp"
  31 #include "code/codeCache.hpp"
  32 #include "code/codeCacheExtensions.hpp"
  33 #include "code/scopeDesc.hpp"
  34 #include "compiler/compileBroker.hpp"
  35 #include "compiler/compileTask.hpp"
  36 #include "gc/shared/gcId.hpp"
  37 #include "gc/shared/gcLocker.inline.hpp"

  38 #include "gc/shared/workgroup.hpp"
  39 #include "interpreter/interpreter.hpp"
  40 #include "interpreter/linkResolver.hpp"
  41 #include "interpreter/oopMapCache.hpp"
  42 #include "jvmtifiles/jvmtiEnv.hpp"
  43 #include "logging/log.hpp"
  44 #include "logging/logConfiguration.hpp"
  45 #include "memory/metaspaceShared.hpp"
  46 #include "memory/oopFactory.hpp"
  47 #include "memory/resourceArea.hpp"
  48 #include "memory/universe.inline.hpp"
  49 #include "oops/instanceKlass.hpp"
  50 #include "oops/objArrayOop.hpp"
  51 #include "oops/oop.inline.hpp"
  52 #include "oops/symbol.hpp"
  53 #include "oops/verifyOopClosure.hpp"
  54 #include "prims/jvm_misc.hpp"
  55 #include "prims/jvmtiExport.hpp"
  56 #include "prims/jvmtiThreadState.hpp"
  57 #include "prims/privilegedStack.hpp"


3696   reset_vm_info_property(CHECK_JNI_ERR);
3697 
3698   quicken_jni_functions();
3699 
3700   // No more stub generation allowed after that point.
3701   StubCodeDesc::freeze();
3702 
3703   // Set flag that basic initialization has completed. Used by exceptions and various
3704   // debug stuff, that does not work until all basic classes have been initialized.
3705   set_init_completed();
3706 
3707   LogConfiguration::post_initialize();
3708   Metaspace::post_initialize();
3709 
3710   HOTSPOT_VM_INIT_END();
3711 
3712   // record VM initialization completion time
3713 #if INCLUDE_MANAGEMENT
3714   Management::record_vm_init_completed();
3715 #endif // INCLUDE_MANAGEMENT








3716 
3717   // Signal Dispatcher needs to be started before VMInit event is posted
3718   os::signal_init();
3719 
3720   // Start Attach Listener if +StartAttachListener or it can't be started lazily
3721   if (!DisableAttachMechanism) {
3722     AttachListener::vm_start();
3723     if (StartAttachListener || AttachListener::init_at_startup()) {
3724       AttachListener::init();
3725     }
3726   }
3727 
3728   // Launch -Xrun agents
3729   // Must be done in the JVMTI live phase so that for backward compatibility the JDWP
3730   // back-end can launch with -Xdebug -Xrunjdwp.
3731   if (!EagerXrunInit && Arguments::init_libraries_at_startup()) {
3732     create_vm_init_libraries();
3733   }
3734 
3735   if (CleanChunkPoolAsync) {


< prev index next >