There's extra logic in the CompileBroker for waiting for blocking JVMCI compilations to try and prevent deadlock (JDK-8148507). However, this is not relevant for libgraal which does not run Java code that can be accessing locks used by other threads.
However, over time, this logic was extended to unblock a blocking compilation when a libgraal internal deadlock is detected. It turns out that this hides deadlocks or long compilations that should be solved in libgraal itself.
As such, blocking compilation in for libgraal should just be treated the same as blocking compilations for C1 and C2.
However, over time, this logic was extended to unblock a blocking compilation when a libgraal internal deadlock is detected. It turns out that this hides deadlocks or long compilations that should be solved in libgraal itself.
As such, blocking compilation in for libgraal should just be treated the same as blocking compilations for C1 and C2.
- duplicates
-
JDK-8310674 [JVMCI] batch compilation for libgraal should work the same way as for C2
-
- Closed
-
- relates to
-
JDK-8148507 [JVMCI] mitigate deadlocks related to JVMCI compiler under -Xbatch
-
- Resolved
-
- links to
-
Commit openjdk/jdk/5521560a
-
Review(master) openjdk/jdk/16197