June 20, 2026

Threads, tantrums, and 62 em-dashes

Bun has an open PR adding shared-memory threads to JavaScriptCore

JavaScript might finally do real multitasking, and the comments are already fighting

TLDR: Bun has a bold new proposal to let JavaScript run tasks at the same time on shared data, which could make heavy work much easier and faster. Commenters are torn between amazement and alarm, with the loudest mini-drama focused on whether the giant writeup is genius or unreadable AI mush.

Bun just tossed a giant grenade into the JavaScript world: a proposal that would let code run on multiple computer cores without the usual maze of copy-paste messaging, weird worker files, and awkward workarounds. In plain English, the pitch is simple and spicy: take a function, send it to another core, and let it work on the same live data as everything else. No shipping objects back and forth in little packages. Just one shared world. For fans, that sounds like a dream. For skeptics, it sounds like a horror movie.

And yes, the comments immediately split into two camps: "I knew this could work" versus "How are there not race conditions all over the place?" One early cheerleader even dropped an old WebKit post like a victory lap, while others demanded a plain-English explanation before they trusted any of it. The biggest side-drama? Not even the code — the PR writeup itself. Multiple commenters were absolutely fixated on whether the giant description was brilliant engineering context or peak AI-generated sludge. One person counted 62 em-dashes. Another said they’ll never get over AI’s obsession with words like "real". And one commenter basically admitted their boss would lose it with joy if their company used AI this aggressively.

So the actual tech story is huge, but the real show is the crowd reaction: awe, suspicion, formatting police, AI discourse, and the ever-present fear that giving JavaScript more power means giving developers more ways to summon chaos.

Key Points

  • The pull request proposes shared-memory threads for JavaScriptCore, allowing `new Thread(fn)` to run a function on another thread within the same heap and object space.
  • The article says parallel JavaScript currently works through all four JIT tiers without a global lock, and the thread test suite passes in that mode.
  • The work is not finished; remaining tasks include thread-sanitizer cleanup, fuzzing, one benchmark issue, and longer soak testing, and the PR may never merge.
  • The proposed API includes `join()`, `asyncJoin()`, `Thread.current`, and thread IDs, with closures, imports, classes, exceptions, and stacks preserved across threads.
  • Examples in the article show parallel mapping, a shared cache using `Map` and `Lock`, and cancellation via a shared boolean object, all without copying data between workers.

Hottest takes

"I knew it was possible :-)" — pizlonator
"How are there not race conditions all over the place?" — Retr0id
"Counting 62 em-dashes in the PR description alone" — lgtx
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.