RSSAmplifier

Blog

Ian Grunert

converting coffee into code

iangrunert.comRSS feed ↗10 posts

Latest posts

Writing a JS Engine using Claude Code

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.

A trick for Claude Code context windows

A big part of the job of working with Claude Code currently is task breakdown. This serves two purposes:

WebKit Windows Port Update - November 2025

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.

Run Docker with Hyper-V isolation in an Azure Virtual Machine

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.

Windows Fiber Local Storage is Useful but Slow

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.

128 bit atomic intrinsics on Windows

While working on enabling libpas on the Windows port for WebKit, I ran into some linking errors:

Every JIT tier enabled for JavaScriptCore on Windows

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…

WebAssembly on WebKit for Windows

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.

Estimating Web Browser Investment

On Brian Kardell’s post Where Browsers Come From there’s an estimate given on the cost of maintaining the three major browser engines:

Works on debug builds, crashes on release builds

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 -…