On Mon, 28 Apr 2025 18:27:26 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:

> In an effort go get rid of calls to Debugee.threadByName() or 
> Debugee.threadByNameOrThrow(), I found that many tests store the thread being 
> looked up in a static field of the debuggee. The test can fetch the 
> ThreadReference from the static field instead of looking it up using APIs 
> that rely on vm.allThreads().
> 
> Most of the changes take advantage of the following common pattern:
> 
> In the debugger:
> 
>     String          threadName1 = "thread1";
>     thread1 = debuggee.threadByNameOrThrow(threadName1);
> 
> In the debuggee:
> 
>     static Thread thread1 = null;
>     thread1 = JDIThreadFactory.newThread(new 
> Thread1addcountfilter001a("thread1"));
> 
> Note that the static field name for the Thread is the same as the thread 
> name. Thus we can easily switch from looking up by thread name to instead 
> looking up by static field name since they both use the same name.

This pull request has now been integrated.

Changeset: 50145bb7
Author:    Chris Plummer <cjplum...@openjdk.org>
URL:       
https://git.openjdk.org/jdk/commit/50145bb74ad87f5b3f80ed910f6ebb95e406b802
Stats:     78 lines in 31 files changed: 34 ins; 1 del; 43 mod

8355773: Some nsk/jdi tests can fetch ThreadReference from static field in the 
debuggee

Reviewed-by: sspitsyn, amenkov

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

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

Reply via email to