LingeredApp currently always runs its loop on the main thread, so the jtreg virtual thread factory never applies to it. With this change the launcher forwards the test.thread.factory property to the child, and the app runs its loop on a thread from the factory when one is set. The default path is unchanged.
One heap dump test limits the virtual thread scheduler to a single carrier on purpose, so it now calls the loop directly on the current thread instead, and mainLoop was made public for that. The SA heap dump test is problem listed for virtual runs, it trips a separate SA issue with virtual threads. --------- - [x] I confirm that I make this contribution in accordance with the [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). ------------- Commit messages: - Let apps run on the current thread and problem list the heap dump test for virtual - Restore blank lines - Merge branch 'master' into JDK-8241634 - Merge remote-tracking branch 'upstream/master' into JDK-8241634 - Merge branch 'master' into JDK-8241634 - 8241634: Support execution of threads as virtual in LingeredApp Changes: https://git.openjdk.org/jdk/pull/32460/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=32460&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8241634 Stats: 31 lines in 3 files changed: 28 ins; 0 del; 3 mod Patch: https://git.openjdk.org/jdk/pull/32460.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/32460/head:pull/32460 PR: https://git.openjdk.org/jdk/pull/32460
