src/hotspot/share/runtime/thread.cpp
Index Unified diffs Context diffs Sdiffs Frames Patch New Old Previous File Next File open Sdiff src/hotspot/share/runtime

src/hotspot/share/runtime/thread.cpp

Print this page




3843 
3844   // This will initialize the module system.  Only java.base classes can be
3845   // loaded until phase 2 completes
3846   call_initPhase2(CHECK_JNI_ERR);
3847 
3848   // Always call even when there are not JVMTI environments yet, since environments
3849   // may be attached late and JVMTI must track phases of VM execution
3850   JvmtiExport::enter_start_phase();
3851 
3852   // Notify JVMTI agents that VM has started (JNI is up) - nop if no agents.
3853   JvmtiExport::post_vm_start();
3854 
3855   // Final system initialization including security manager and system class loader
3856   call_initPhase3(CHECK_JNI_ERR);
3857 
3858   // cache the system and platform class loaders
3859   SystemDictionary::compute_java_loaders(CHECK_JNI_ERR);
3860 
3861 #if INCLUDE_JVMCI
3862   if (EnableJVMCI) {
3863     // Initialize JVMCI eagerly if JVMCIPrintProperties is enabled.

3864     // The JVMCI Java initialization code will read this flag and
3865     // do the printing if it's set.
3866     bool init = JVMCIPrintProperties;
3867 
3868     if (!init) {
3869       // 8145270: Force initialization of JVMCI runtime otherwise requests for blocking
3870       // compilations via JVMCI will not actually block until JVMCI is initialized.
3871       init = UseJVMCICompiler && (!UseInterpreter || !BackgroundCompilation);
3872     }
3873 
3874     if (init) {
3875       JVMCIRuntime::force_initialization(CHECK_JNI_ERR);
3876     }
3877   }
3878 #endif
3879 
3880   // Always call even when there are not JVMTI environments yet, since environments
3881   // may be attached late and JVMTI must track phases of VM execution
3882   JvmtiExport::enter_live_phase();
3883 
3884   // Notify JVMTI agents that VM initialization is complete - nop if no agents.
3885   JvmtiExport::post_vm_initialized();
3886 




3843 
3844   // This will initialize the module system.  Only java.base classes can be
3845   // loaded until phase 2 completes
3846   call_initPhase2(CHECK_JNI_ERR);
3847 
3848   // Always call even when there are not JVMTI environments yet, since environments
3849   // may be attached late and JVMTI must track phases of VM execution
3850   JvmtiExport::enter_start_phase();
3851 
3852   // Notify JVMTI agents that VM has started (JNI is up) - nop if no agents.
3853   JvmtiExport::post_vm_start();
3854 
3855   // Final system initialization including security manager and system class loader
3856   call_initPhase3(CHECK_JNI_ERR);
3857 
3858   // cache the system and platform class loaders
3859   SystemDictionary::compute_java_loaders(CHECK_JNI_ERR);
3860 
3861 #if INCLUDE_JVMCI
3862   if (EnableJVMCI) {
3863     // Initialize JVMCI eagerly when it is explicitly requested.
3864     // Or when JVMCIPrintProperties is enabled.
3865     // The JVMCI Java initialization code will read this flag and
3866     // do the printing if it's set.
3867     bool init = EagerJVMCI || JVMCIPrintProperties;
3868 
3869     if (!init) {
3870       // 8145270: Force initialization of JVMCI runtime otherwise requests for blocking
3871       // compilations via JVMCI will not actually block until JVMCI is initialized.
3872       init = UseJVMCICompiler && (!UseInterpreter || !BackgroundCompilation);
3873     }
3874 
3875     if (init) {
3876       JVMCIRuntime::force_initialization(CHECK_JNI_ERR);
3877     }
3878   }
3879 #endif
3880 
3881   // Always call even when there are not JVMTI environments yet, since environments
3882   // may be attached late and JVMTI must track phases of VM execution
3883   JvmtiExport::enter_live_phase();
3884 
3885   // Notify JVMTI agents that VM initialization is complete - nop if no agents.
3886   JvmtiExport::post_vm_initialized();
3887 


src/hotspot/share/runtime/thread.cpp
Index Unified diffs Context diffs Sdiffs Frames Patch New Old Previous File Next File