This PR includes a couple of clarifications of the JDWP and JDI invoke method support. The first is that deadlocks can occur due to a needed "resource" being held. The spec previously just mentioned monitors being held, but this is too specific. The second is to clarify that an invoke on a virtual thread can be more prone to deadlocks than a platform thread may be.
I did a doc build you can look at to view the changes. Links to the relevant sections are below: https://cr.openjdk.org/~cjplummer/8301639/docs.00/specs/jdwp/jdwp-protocol.html#JDWP_ClassType_InvokeMethod https://cr.openjdk.org/~cjplummer/8301639/docs.00/specs/jdwp/jdwp-protocol.html#JDWP_ClassType_NewInstance https://cr.openjdk.org/~cjplummer/8301639/docs.00/specs/jdwp/jdwp-protocol.html#JDWP_InterfaceType_InvokeMethod https://cr.openjdk.org/~cjplummer/8301639/docs.00/specs/jdwp/jdwp-protocol.html#JDWP_ObjectReference_InvokeMethod https://cr.openjdk.org/~cjplummer/8301639/docs.00/api/jdk.jdi/com/sun/jdi/ClassType.html#invokeMethod(com.sun.jdi.ThreadReference,com.sun.jdi.Method,java.util.List,int) https://cr.openjdk.org/~cjplummer/8301639/docs.00/api/jdk.jdi/com/sun/jdi/ClassType.html#newInstance(com.sun.jdi.ThreadReference,com.sun.jdi.Method,java.util.List,int) https://cr.openjdk.org/~cjplummer/8301639/docs.00/api/jdk.jdi/com/sun/jdi/InterfaceType.html#invokeMethod(com.sun.jdi.ThreadReference,com.sun.jdi.Method,java.util.List,int) https://cr.openjdk.org/~cjplummer/8301639/docs.00/api/jdk.jdi/com/sun/jdi/ObjectReference.html#invokeMethod(com.sun.jdi.ThreadReference,com.sun.jdi.Method,java.util.List,int) ------------- Commit messages: - Clarify jdi and jdwp invoke Changes: https://git.openjdk.org/jdk/pull/15695/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15695&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8301639 Stats: 80 lines in 4 files changed: 68 ins; 0 del; 12 mod Patch: https://git.openjdk.org/jdk/pull/15695.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/15695/head:pull/15695 PR: https://git.openjdk.org/jdk/pull/15695