State of x86_32 port of JEP 425: Virtual Threads (Preview)

Alan Bateman Alan.Bateman at oracle.com
Thu Jun 16 11:04:07 UTC 2022


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



More information about the loom-dev mailing list