RFR: 8320707: Virtual thread test updates [v2]

Alan Bateman alanb at openjdk.org
Tue Jan 2 15:22:05 UTC 2024


> A lot of test changes have accumulated in the loom repo, this includes both new tests and updates to existing tests. Some of these updates can be brought to the main line. This update brings over:
> 
> - The existing tests for pinning use synchronized blocks. In preparation for changes to allow carrier thread be released when a virtual thread parks holding a monitor or blocks on monitorenter, these tests are changed to pin by having a native frame on the stack. This part includes test infrastructure to make it easy to add more tests that do operations while pinned. The tests still test what they were originally created to test of course.
> 
> - The test for the JFR jdk.VirtualThreadPinned event is refactored to allow for additional cases where the event may be reported.
> 
> - ThreadAPI is expanded to cover test for uncaught exception handling.
> 
> - GetStackTraceWhenRunnable is refactored to not use a Selector, otherwise this test will be invalidated when blocking selection operations release the carrier.
> 
> - StressStackOverflow is dialed down to run for 1m instead of 2mins.
> 
> - The use of CountDownLatch in a number of tests that poll thread state has been dropped to keep the tests as simple as possible.

Alan Bateman has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:

 - Revert changes to TracePinnedThreads.java
 - Sync up from loom repo
 - Merge
 - Initial commit

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/17136/files
  - new: https://git.openjdk.org/jdk/pull/17136/files/b7abfc0a..fe255921

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=17136&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=17136&range=00-01

  Stats: 3108 lines in 165 files changed: 1976 ins; 659 del; 473 mod
  Patch: https://git.openjdk.org/jdk/pull/17136.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/17136/head:pull/17136

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


More information about the serviceability-dev mailing list