Over the past 2 months, I’ve been working on a JavaScript interpreter using Claude Code. It’s been an interesting side project, to learn about the weird corners of the ECMAScript spec while figuring out the edges of what Claude Opus 4.6 is capable of.
Just finished attending my third WebKit Contributors meeting, and there were a number of questions regarding the status of the Windows port. Seems worthwhile to post an update here, as I didn’t give a lightning talk this year.
Setting up the Layout Tests for the WebKit Windows Port, I ran into issues running the tests in Docker with process isolation. Specifically creating off-screen windows and drawing to them didn’t seem to work the same as in hyper-v isolation.
Raymond Chen posted a blog back in 2019 stating that Fibers aren’t useful for much any more; there’s just one corner of it that remains useful for a reason unrelated to fibers.
As my first task at Pax Andromeda, I worked on (re)enabling all the JIT tiers for JavaScriptCore on Windows. This work has landed upstream in WebKit and JIT has been enabled by default on Windows. I’ll go into the background leading up to this, what changed that presented this opportunity, the work that landed, and some of the problems that came up along the way. If you’d like to join my team and…
Recently I landed changes to enable Wasm on Windows in WebKit. This built upon previous work to support fast webassembly memory. There were some fun challenges in getting this to work which I’ll dig into below.
I’m (hopefully) getting closer to the finish line on enabling Wasm on Windows in WebKit. Recently I had a setback, when Yusuke Suzuki pointed out the critical flaw in the approach to free up r11 for use as the ws1 scratch register. I had missed that r11 was used as a scratch register not only within the offlineasm compiler, but also with MacroAssemblerX86. Using r11 was working and passed tests -…