3710 // Start Attach Listener if +StartAttachListener or it can't be started lazily
3711 if (!DisableAttachMechanism) {
3712 AttachListener::vm_start();
3713 if (StartAttachListener || AttachListener::init_at_startup()) {
3714 AttachListener::init();
3715 }
3716 }
3717
3718 // Launch -Xrun agents
3719 // Must be done in the JVMTI live phase so that for backward compatibility the JDWP
3720 // back-end can launch with -Xdebug -Xrunjdwp.
3721 if (!EagerXrunInit && Arguments::init_libraries_at_startup()) {
3722 create_vm_init_libraries();
3723 }
3724
3725 if (CleanChunkPoolAsync) {
3726 Chunk::start_chunk_pool_cleaner_task();
3727 }
3728
3729 // initialize compiler(s)
3730 #if defined(COMPILER1) || defined(COMPILER2) || defined(SHARK) || INCLUDE_JVMCI
3731 CompileBroker::compilation_init(CHECK_JNI_ERR);
3732 #endif
3733
3734 // Pre-initialize some JSR292 core classes to avoid deadlock during class loading.
3735 // It is done after compilers are initialized, because otherwise compilations of
3736 // signature polymorphic MH intrinsics can be missed
3737 // (see SystemDictionary::find_method_handle_intrinsic).
3738 initialize_jsr292_core_classes(CHECK_JNI_ERR);
3739
3740 // This will initialize the module system. Only java.base classes can be
3741 // loaded until phase 2 completes
3742 call_initPhase2(CHECK_JNI_ERR);
3743
3744 // Always call even when there are not JVMTI environments yet, since environments
3745 // may be attached late and JVMTI must track phases of VM execution
3746 JvmtiExport::enter_start_phase();
3747
3748 // Notify JVMTI agents that VM has started (JNI is up) - nop if no agents.
3749 JvmtiExport::post_vm_start();
3750
|
3710 // Start Attach Listener if +StartAttachListener or it can't be started lazily
3711 if (!DisableAttachMechanism) {
3712 AttachListener::vm_start();
3713 if (StartAttachListener || AttachListener::init_at_startup()) {
3714 AttachListener::init();
3715 }
3716 }
3717
3718 // Launch -Xrun agents
3719 // Must be done in the JVMTI live phase so that for backward compatibility the JDWP
3720 // back-end can launch with -Xdebug -Xrunjdwp.
3721 if (!EagerXrunInit && Arguments::init_libraries_at_startup()) {
3722 create_vm_init_libraries();
3723 }
3724
3725 if (CleanChunkPoolAsync) {
3726 Chunk::start_chunk_pool_cleaner_task();
3727 }
3728
3729 // initialize compiler(s)
3730 #if defined(COMPILER1) || defined(COMPILER2) || INCLUDE_JVMCI
3731 CompileBroker::compilation_init(CHECK_JNI_ERR);
3732 #endif
3733
3734 // Pre-initialize some JSR292 core classes to avoid deadlock during class loading.
3735 // It is done after compilers are initialized, because otherwise compilations of
3736 // signature polymorphic MH intrinsics can be missed
3737 // (see SystemDictionary::find_method_handle_intrinsic).
3738 initialize_jsr292_core_classes(CHECK_JNI_ERR);
3739
3740 // This will initialize the module system. Only java.base classes can be
3741 // loaded until phase 2 completes
3742 call_initPhase2(CHECK_JNI_ERR);
3743
3744 // Always call even when there are not JVMTI environments yet, since environments
3745 // may be attached late and JVMTI must track phases of VM execution
3746 JvmtiExport::enter_start_phase();
3747
3748 // Notify JVMTI agents that VM has started (JNI is up) - nop if no agents.
3749 JvmtiExport::post_vm_start();
3750
|