8233197: Invert JvmtiExport::post_vm_initialized() and Jfr:on_vm_start() start-up order for correct option parsing

Reviewed-by: sspitsyn, egahlin
This commit is contained in:
Markus Grönlund 2019-11-25 18:38:01 +01:00
parent 1b3fd96d2a
commit 096bacb9ea
13 changed files with 138 additions and 94 deletions

View file

@ -3887,7 +3887,7 @@ jint Threads::create_vm(JavaVMInitArgs* args, bool* canTryAgain) {
return status;
}
JFR_ONLY(Jfr::on_vm_init();)
JFR_ONLY(Jfr::on_create_vm_1();)
// Should be done after the heap is fully created
main_thread->cache_global_variables();
@ -4026,6 +4026,8 @@ jint Threads::create_vm(JavaVMInitArgs* args, bool* canTryAgain) {
// loaded until phase 2 completes
call_initPhase2(CHECK_JNI_ERR);
JFR_ONLY(Jfr::on_create_vm_2();)
// Always call even when there are not JVMTI environments yet, since environments
// may be attached late and JVMTI must track phases of VM execution
JvmtiExport::enter_start_phase();
@ -4061,7 +4063,7 @@ jint Threads::create_vm(JavaVMInitArgs* args, bool* canTryAgain) {
// Notify JVMTI agents that VM initialization is complete - nop if no agents.
JvmtiExport::post_vm_initialized();
JFR_ONLY(Jfr::on_vm_start();)
JFR_ONLY(Jfr::on_create_vm_3();)
#if INCLUDE_MANAGEMENT
Management::initialize(THREAD);