To test ForceEarlyReturn command for NO_MORE_FRAMES case the test creates ThreadStartEventRequest with SUSPEND_ALL policy and requests debuggee to start new thread. If debuggee JVM starts some internal threads before the request is cleared (i.e. we have several ThreadStart events), 2nd event suspends debuggee again and the test fails with timeout. The change adds THREAD_ONLY modifier to the ThreadStartEventRequest to generate event only for desired thread. It requires thread ID, so debuggee was updated to create Thread object in advance, debugger reads the thread ID from static field (it does not need to be static, but Debugee class has convenient methods to retrieve class ID and static field value).
Testing: 100 runs of the test on windows-x64-debug,linux-x64-debug,macosx-x64-debug with JTREG_TEST_THREAD_FACTORY=Virtual, with and without "-XX:+UseZGC -XX:+ZGenerational" ------------- Commit messages: - jcheck - forceEarlyReturn002 Changes: https://git.openjdk.org/jdk/pull/15601/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15601&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8315486 Stats: 44 lines in 2 files changed: 34 ins; 7 del; 3 mod Patch: https://git.openjdk.org/jdk/pull/15601.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/15601/head:pull/15601 PR: https://git.openjdk.org/jdk/pull/15601