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