Integrated: 8348203: [JVMCI] Make eager JVMCI initialization observable in the debugger

Volker Simonis simonis at openjdk.org
Fri Jan 24 15:40:51 UTC 2025


On Tue, 21 Jan 2025 16:59:05 GMT, Volker Simonis <simonis at openjdk.org> wrote:

> I realized that I can't debug (i.e. with a Java debugger) the Graal compiler initialization if it happens eagerly (e.g. with `EagerJVMCI`, `JVMCIPrintProperties`, `JVMCILibDumpJNIConfig`). Not that this is something I need every day, but I think it can easily be fixed by moving the early initializing a little further down, right after `JvmtiExport::post_vm_initialized()`:
> 
> 
>  diff --git a/src/hotspot/share/runtime/threads.cpp b/src/hotspot/share/runtime/threads.cpp
> index 1cab9bc5d53..191409c22e3 100644
> --- a/src/hotspot/share/runtime/threads.cpp
> +++ b/src/hotspot/share/runtime/threads.cpp
> @@ -806,12 +806,6 @@ jint Threads::create_vm(JavaVMInitArgs* args, bool* canTryAgain) {
>    }
>  #endif
>  
> -#if INCLUDE_JVMCI
> - if (force_JVMCI_initialization) {
> - JVMCI::initialize_compiler(CHECK_JNI_ERR);
> - }
> -#endif
> -
>    if (NativeHeapTrimmer::enabled()) {
>      NativeHeapTrimmer::initialize();
>    }
> @@ -826,6 +820,12 @@ jint Threads::create_vm(JavaVMInitArgs* args, bool* canTryAgain) {
>    // Notify JVMTI agents that VM initialization is complete - nop if no agents.
>    JvmtiExport::post_vm_initialized();
>  
> +#if INCLUDE_JVMCI
> + if (force_JVMCI_initialization) {
> + JVMCI::initialize_compiler(CHECK_JNI_ERR);
> + }
> +#endif
> +
>    JFR_ONLY(Jfr::on_create_vm_3();)
>  
>  #if INCLUDE_MANAGEMENT

This pull request has now been integrated.

Changeset: 76f792b5
Author:    Volker Simonis <simonis at openjdk.org>
URL:       https://git.openjdk.org/jdk/commit/76f792b55263faf883e54cb879d8609f87164e51
Stats:     12 lines in 1 file changed: 6 ins; 6 del; 0 mod

8348203: [JVMCI] Make eager JVMCI initialization observable in the debugger

Reviewed-by: dnsimon

-------------

PR: https://git.openjdk.org/jdk/pull/23219


More information about the compiler-dev mailing list