Degrade Thread.suspend/resume to throw UOE unconditionally. Another step in the removal of this deadlock prone mis-feature from the user-facing API. Thread.suspend/resume have been deprecated since JDK 1.2 (1998) and terminally deprecated since Java 14. ThreadGroup.suspend/resume were degraded to throw UOE in Java 19. As of Java 19, Thread.suspend/resume continues to work for platform threads but throws UOE for virtual threads. The next step is to degrade both methods to throw UOE for all threads. A corpus search of 19M classes in 113k JAR files found only 22 classes using these methods so this change is unlikely to be disruptive.
The change requires some minor adjustments to the JVM TI and JDWP specifications, and a minor update to the JDI docs. Leonid Mesnik is working on [PR10351](https://github.com/openjdk/jdk/pull/10351) to remove/replace the last few usages of Thread.suspend/resume from the hotspot tests (most of these can use JVMTI SuspendThread/ResumeThread). ------------- Commit messages: - Fix typo in test comment - Keep link to threadPrimitiveDeprecation.html - Merge - Tests - Initial commit Changes: https://git.openjdk.org/jdk/pull/10324/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=10324&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8249627 Stats: 347 lines in 15 files changed: 148 ins; 139 del; 60 mod Patch: https://git.openjdk.org/jdk/pull/10324.diff Fetch: git fetch https://git.openjdk.org/jdk pull/10324/head:pull/10324 PR: https://git.openjdk.org/jdk/pull/10324