RFR: 8348203: [JVMCI] Make eager JVMCI initialization observable in the debugger
Volker Simonis
simonis at openjdk.org
Tue Jan 21 17:03:49 UTC 2025
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
-------------
Commit messages:
- 8348203: [JVMCI] Make eager JVMCI initialization observable in the debugger
Changes: https://git.openjdk.org/jdk/pull/23219/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=23219&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8348203
Stats: 12 lines in 1 file changed: 6 ins; 6 del; 0 mod
Patch: https://git.openjdk.org/jdk/pull/23219.diff
Fetch: git fetch https://git.openjdk.org/jdk.git pull/23219/head:pull/23219
PR: https://git.openjdk.org/jdk/pull/23219
More information about the hotspot-runtime-dev
mailing list