[webkit-dev] Proposal: Dropping MSVC support and use clang-cl exclusively on Windows

Olmstead, Don Don.Olmstead at sony.com
Thu May 2 15:49:54 PDT 2024


Hey Herb,

Not everyone whose embedding WebKit on Windows announces to us that they’re using it so unsure if someone is still compiling using MSVC. All the documentation we have points to clang-cl being the preferred way. The ones we know of Bun, https://bun.sh/ , and Playwright, https://playwright.dev/ , have switched to clang-cl.

I was personally keeping the dream alive and would compile out WebKit with MSVC. WebKit on Windows doesn’t have the highest tier JITs because we don’t have anyone working on it for Windows and the maintenance costs around MSVC are centered around that. If MSVC had the functionality that helps the JSC folks make the VM run fast we wouldn’t be in this situation. If that functionality is added to the roadmap then we’d definitely reconsider at that time.

Don

From: Herb Sutter <herb.sutter at gmail.com>
Sent: Thursday, May 2, 2024 1:28 PM
To: Olmstead, Don <Don.Olmstead at sony.com>; 'Jean-Yves Avenard' <jean-yves.avenard at apple.com>
Cc: 'WebKit-Dev Development' <webkit-dev at lists.webkit.org>
Subject: RE: [webkit-dev] Proposal: Dropping MSVC support and use clang-cl exclusively on Windows

Thank you, Jean-Yves and Don!

One followup: I don’t know WebKit well but was surprised that it was being built with MSVC, and Yusuke mentioned Windows projects that build with clang-cl instead. Are there known users/products who are building with WebKit that are important not to break, so that we (Microsoft) should be thinking about doing work so you can keep using MSVC, or is this really an unused configuration that it makes sense to just drop?

Herb


From: Olmstead, Don <Don.Olmstead at sony.com<mailto:Don.Olmstead at sony.com>>
Sent: Thursday, May 2, 2024 12:06 PM
To: Jean-Yves Avenard <jean-yves.avenard at apple.com<mailto:jean-yves.avenard at apple.com>>; Herb Sutter <herb.sutter at gmail.com<mailto:herb.sutter at gmail.com>>
Cc: WebKit-Dev Development (webkit-dev at lists.webkit.org<mailto:webkit-dev at lists.webkit.org>) <webkit-dev at lists.webkit.org<mailto:webkit-dev at lists.webkit.org>>
Subject: RE: [webkit-dev] Proposal: Dropping MSVC support and use clang-cl exclusively on Windows

Hi Herb

If you grep around the WebKit codebase for COMPILER(MSVC) there are a number of workarounds hanging out. Some may have been fixed over time but the workaround wasn’t removed.

Biggest issue was around the JIT and some other low level features the JSC folks utilize that isn’t present in MSVC. The lion’s share of JSC development is done using Clang and those working on it don’t have a Windows box handy so we have seen the JIT break on Windows. Yusuke I’m sure has a list of feature requests that would improve the quality of MSVC for people developing VMs.

MSVC has definitely caught some issues in the code and compiler mono-culture isn’t great but realistically we don’t have the resources to keep MSVC up and running.

Regards,
Don

From: Jean-Yves Avenard via webkit-dev <webkit-dev at lists.webkit.org<mailto:webkit-dev at lists.webkit.org>>
Sent: Wednesday, May 1, 2024 5:10 PM
To: Herb Sutter <herb.sutter at gmail.com<mailto:herb.sutter at gmail.com>>
Cc: Webkit Development List <webkit-dev at lists.webkit.org<mailto:webkit-dev at lists.webkit.org>>
Subject: Re: [webkit-dev] Proposal: Dropping MSVC support and use clang-cl exclusively on Windows

Hi

On 2 May 2024, at 10:07 am, Herb Sutter via webkit-dev <webkit-dev at lists.webkit.org<mailto:webkit-dev at lists.webkit.org>> wrote:


We’ve had full C++20 including concepts for a couple of years so I wasn’t sure what problem you were running into… are you encountering bugs in those features? or you can’t turn on /std:c++20 for some reason? or are you using an older pre-concepts (pre-VS2022 17.0) compiler?

Thanks for any feedback you have time to share.

Herb


We’ve had issues where some use of concepts made the latest MSVC compiler crash
See https://searchfox.org/wubkat/source/Source/WTF/wtf/TypeTraits.h#145-172<https://searchfox.org/wubkat/source/Source/WTF/wtf/TypeTraits.h#145-172>

See https://bugs.webkit.org/show_bug.cgi?id=261598<https://bugs.webkit.org/show_bug.cgi?id=261598>

Jean-Yves
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-dev/attachments/20240502/99e6a401/attachment.htm>


More information about the webkit-dev mailing list