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

Doug Simon dnsimon at openjdk.java.net
Tue Sep 8 21:19:09 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.

Doug Simon has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev
excludes the unrelated changes brought in by the merge/rebase. The pull request contains one additional commit since
the last revision:

  add compilation ticks for mitigating against deadlock due to blocking JVMCI compilation

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

Changes:
  - all: https://git.openjdk.java.net/jdk/pull/35/files
  - new: https://git.openjdk.java.net/jdk/pull/35/files/57870a78..94e4a3f4

Webrevs:
 - full: https://webrevs.openjdk.java.net/?repo=jdk&pr=35&range=01
 - incr: https://webrevs.openjdk.java.net/?repo=jdk&pr=35&range=00-01

  Stats: 7637 lines in 271 files changed: 5956 ins; 636 del; 1045 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