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

Reply via email to