On 16/06/2022 10:09, Aleksey Shipilev wrote:
On 6/15/22 20:26, Ron Pressler wrote:
Am I right to understand that to mean that the x86-32 port does fully implement the virtual threads spec, albeit with the “fake virtual thread” implementation rather than VM continuations?
Yes. Although it is still not clear to me if that implementation even passes JCK.

The intention is that it does. The jtreg tests that exercise the API surface re-run with -XX:-VMContinuations to ensure that the alternative implementation is tested. The only surprising part may be that it lends on the optionality of JVM TI.



Sure, but let me talk about a huge elephant-in-the-room caveat.

I firmly believe port maintainers should not be put into position of deciphering the current Loom implementation, guessing the implementation intents, and only then figuring out where those intents are broken for a particular port. The porters job is the second part: looking at clean implementation, having their "Aha, this code/comment says something that does not hold for my arch" moments, and working those out.

The first part is the responsibility of Loom developers: readability, documentation clarity, reasonable pre-/post-conditions, extensive verification, etc. I am sure many non-Loom developers would lend a helping hand in that. I, for one, contributed a few rewrites already.

We haven't had JVMLS or OpenJDK Committers Workshops for 2 years and those are venues where there may have been opportunities to have walk through and discuss the porting challenges. A few recordings of TOIs might have helped to get more people up to speed and maybe more help on cleanup and re-writing the areas of the hotspot code that need attention. I'm not so sure about the "first part" vs. "second part", at least not for the the first one of two ports after x64/aarch64 as there will be issues, leading to improvements for other ports that follow.

-Alan

Reply via email to