On Tue, 9 Jun 2026 18:49:34 GMT, Amit Kumar <[email protected]> wrote:
>> Introduces Virtual Threads on s390x. >> >> Additionally contains changes from these Issues as well: >> 8338383: Implement JEP 491: Synchronize Virtual Threads without Pinning >> 8369238: Allow virtual thread preemption on some common class initialization >> paths >> >> Testing: >> - [x] fastdebug : tier1 JTREG_TEST_THREAD_FACTORY=Virtual >> - [x] release : tier1 JTREG_TEST_THREAD_FACTORY=Virtual >> - [x] fastdebug: jdk_loom JTREG_TEST_THREAD_FACTORY=Virtual >> -XX:+TieredCompilation -XX:TieredStopAtLevel=1 >> -XX:+UnlockExperimentalVMOptions -XX:+VerifyContinuations >> - [x] fastdebug : jdk_loom JTREG_TEST_THREAD_FACTORY=Virtual >> -XX:-TieredCompilation -Xcomp -XX:+UnlockExperimentalVMOptions >> -XX:+VerifyContinuations >> - [x] fastdebug : hotspot_loom JTREG_TEST_THREAD_FACTORY=Virtual + -Xint >> - [x] fastdebug : hotspot_loom JTREG_TEST_THREAD_FACTORY=Virtual >> -XX:+TieredCompilation -XX:TieredStopAtLevel=1 >> -XX:+UnlockExperimentalVMOptions -XX:+VerifyContinuations >> - [x] fastdebug : hotspot_loom JTREG_TEST_THREAD_FACTORY=Virtual >> -XX:+TieredCompilation -XX:TieredStopAtLevel=1 -Xcomp >> -XX:+UnlockExperimentalVMOptions -XX:+VerifyContinuations >> >> --------- >> - [x] I confirm that I make this contribution in accordance with the >> [OpenJDK Interim AI Policy](https://openjdk.org/legal/ai). > > Amit Kumar has updated the pull request incrementally with one additional > commit since the last revision: > > leftover comment I've only looked at the non-S390-specific source files changes. I have one concern below. Thanks src/hotspot/share/runtime/continuationFreezeThaw.cpp line 512: > 510: #ifdef _LP64 > 511: // on s390, alignment is of 8 byte instead of 16 byte like other > architectures. So for us 0xf check fails > 512: // and decrements _bottom_address which results in > assert(FKind::frame_bottom(f) <= _bottom_address) failure. Suggestion: // On S390 alignment is 8 bytes instead of 16 bytes like other architectures. src/hotspot/share/runtime/continuationFreezeThaw.cpp line 534: > 532: #else > 533: static const int doYield_stub_frame_size = frame::metadata_words; > 534: #endif I don't think this correct for ZERO. IIUC PPC64 will still be set when ZERO is defined. ------------- PR Review: https://git.openjdk.org/jdk/pull/31441#pullrequestreview-4463109425 PR Review Comment: https://git.openjdk.org/jdk/pull/31441#discussion_r3384367438 PR Review Comment: https://git.openjdk.org/jdk/pull/31441#discussion_r3384377674
