RFR: 8252543: [JVMCI] Libgraal can deadlock in blocking compilation mode

Doug Simon dnsimon at openjdk.java.net
Sun Sep 6 19:53:53 UTC 2020


To prevent a deadlock in libgraal under `-Xcomp` or `-Xbatch` due to a lock being held in libgraal, a new mechanism is
added by this change that allow JVMCI compiler threads to communicate their "progress" to HotSpot:

* Each JVMCI compiler thread has a "compilation ticks" counter.
* There is also a global JVMCI compilation ticks counter.
* Each JVMCI VM call increments the JVMCI compiler thread-local compilation ticks counter.
* Every 512 increments of such a counter also increments the global counter.
* A thread waiting on a blocking JVMCI compilation will be unblocked if these counters indicate no progress after a
  defined period.

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

Commit messages:
 - add compilation ticks for mitigating against deadlock due to blocking JVMCI compilation

Changes: https://git.openjdk.java.net/jdk/pull/35/files
 Webrev: https://webrevs.openjdk.java.net/?repo=jdk&pr=35&range=00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8252543
  Stats: 126 lines in 11 files changed: 72 ins; 14 del; 40 mod
  Patch: https://git.openjdk.java.net/jdk/pull/35.diff
  Fetch: git fetch https://git.openjdk.java.net/jdk pull/35/head:pull/35

PR: https://git.openjdk.java.net/jdk/pull/35


More information about the hotspot-compiler-dev mailing list