> A followup to [JDK-8355773](https://bugs.openjdk.org/browse/JDK-8355773). > Convert a bunch more tests to fetch the ThreadReference from a static field > in the debuggee. [JDK-8355773](https://bugs.openjdk.org/browse/JDK-8355773) > focused on the easier tests that already had a static field, and the name of > the field was the same as the thread name. This batch takes care of a bunch > of harder to convert tests where in many cases static field has to be added > and usually does not have the same name as the thread name. > > Note there was a lot of template copy-n-paste code that I deleted because it > was never used. For example, most tests were not using the `listIterator` > variable. There were also many deletions of calls to vm.allThreads(). Some > were because the need to iterate over the threads went away, but most were > because the result was never used. > > There are many places where the original code iterated over all the threads > looking for a particular thread rather than calling on of the existing > threadByName() APIs, and you'll see this being replaced by calls to the new > threadByFieldNameOrThrow() API. One thing to keep in mind is that the old > code tried to continue running the test if it failed to find the thread. This > would lead to a timeout. threadByFieldNameOrThrow() will throw an exception > which forces the test to quickly exit. > > I added a 2nd threadByFieldNameOrThrow() API. The original one just took a > threadFieldName argument, assuming that the name of the static field and the > name of the thread were the same. The new one adds a threadName argument, > allowing for the two to be different. The threadName is used just to double > check that the Thread fetched from the static field has the expected name. It > is not used as part of the lookup. > > Tested with CI tier5, which is where all the nsk/jdi testing is done. Also > ran locally on linux-x64.
Chris Plummer has updated the pull request incrementally with one additional commit since the last revision: undo copyright change ------------- Changes: - all: https://git.openjdk.org/jdk/pull/24979/files - new: https://git.openjdk.org/jdk/pull/24979/files/c43ff38c..3f7c4a03 Webrevs: - full: https://webrevs.openjdk.org/?repo=jdk&pr=24979&range=01 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=24979&range=00-01 Stats: 1 line in 1 file changed: 0 ins; 0 del; 1 mod Patch: https://git.openjdk.org/jdk/pull/24979.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/24979/head:pull/24979 PR: https://git.openjdk.org/jdk/pull/24979