> This PR adds ranked monitor support to the debug agent. The debug agent has a 
> large number of monitors, and it's really hard to know which order to grab 
> them in, and for that matter which monitors might already be held at any 
> given moment. By imposing a rank on each monitor, we can check to make sure 
> they are always grabbed in the order of their rank. Having this in place when 
> I was working on [JDK-8324868](https://bugs.openjdk.org/browse/JDK-8324868) 
> would have made it much easier to detect a deadlock that was occuring, and 
> the reason for it. That's what motivated me to do this work
> 
> There were 2 or 3 minor rank issues discovered as a result of these changes. 
> I also learned a lot about some of the more ugly details of the locking 
> support in the process.
> 
> Tested with the following on all supported platforms and with virtual threads:
> 
> com/sun/jdi
> vmTestbase/nsk/jdi
> vmTestbase/nsk/jdb
> vmTestbase/nsk/jdwp 
> 
> Still need to run tier2 and tier5.
> 
> Details of the changes follow in the first comment.

Chris Plummer has updated the pull request incrementally with two additional 
commits since the last revision:

 - Fix jcheck extra whitespace.
 - Fix comment typo.

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/19044/files
  - new: https://git.openjdk.org/jdk/pull/19044/files/c782279b..049d3884

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=19044&range=03
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=19044&range=02-03

  Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
  Patch: https://git.openjdk.org/jdk/pull/19044.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/19044/head:pull/19044

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

Reply via email to