Follow up to JDK-8319447 to change the VirtualThread implementation to use FJP's delayed task handling.
The SPTE based implementation is not removed. It will continue to be used by tests. If custom schedulers are exposed in the future then they will use this implementation. For timed-Object.wait, waitTimeoutExpired is changed to use lazySubmit to avoid signalling and increase the chance that the unparked virtual thread will continue on the current carrier. For timed-park, the timeout task is changed to reduced form of unpark that also uses lazySubmit, for the same reason. `jcmd Thread.vthread_scheduler` is changed to no longer print the delay schedulers. Instead, the delayed task count will appear in the default scheduler output. ------------- Commit messages: - Merge branch 'master' into JDK-8351927 - Merge branch 'master' into JDK-8351927 - Merge branch 'master' into JDK-8351927 - Merge - Merge branch 'pull/23702' into JDK-8351927 - Typo - Address review comments - Merge branch 'openjdk:master' into JDK-8319447 - Address review comments - Update - ... and 51 more: https://git.openjdk.org/jdk/compare/867a0301...30eba776 Changes: https://git.openjdk.org/jdk/pull/24030/files Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=24030&range=00 Issue: https://bugs.openjdk.org/browse/JDK-8351927 Stats: 405 lines in 8 files changed: 332 ins; 41 del; 32 mod Patch: https://git.openjdk.org/jdk/pull/24030.diff Fetch: git fetch https://git.openjdk.org/jdk.git pull/24030/head:pull/24030 PR: https://git.openjdk.org/jdk/pull/24030