Brimstone: ES2025 JavaScript engine written in Rust

Rust-made JavaScript engine touts “very unsafe” garbage collector, comments explode

TLDR: Brimstone is a Rust-built JavaScript engine with ~97% test coverage, not yet production-ready. Comments fixated on its “very unsafe” garbage collector, sparking confusion over whether Rust uses garbage collection and calls to compare it to Boa.

Brimstone is a new JavaScript engine built in Rust — basically, a tool that runs JavaScript without needing a browser. It claims support for over 97% of the language tests, sports a custom parser and regex engine, and even a compacting garbage collector. It’s not ready for real-world use yet, and still missing advanced features like SharedArrayBuffer and Atomics (that’s the stuff for sharing work across threads). But the one line that lit the fuse: “compacting garbage collector, written in very unsafe Rust.” The crowd went feral, caught between admiration for the ambition and disbelief at the phrasing.

One camp cried hypocrisy: memory-safe Rust choosing “unsafe” on purpose. Another camp clapped back: “Rust is not garbage collected”, pointing out you only get GC-like behavior if you opt into certain tools. The thread oscillated from confusion to comedy, with “got me cracking” and “who in the f***…” dunking on the wording. Meanwhile, the comparison war kicked off: “How does it stack up against Boa?” Fans speculated engine-on-engine drama while nodding at Brimstone’s bold V8-inspired design and 97% test suite brag. Verdict from the peanut gallery: daring, impressive, and hilariously phrased — a tech flex wrapped in meme bait.

Key Points

  • Brimstone is a JavaScript engine written from scratch in Rust and is not production-ready.
  • It passes over 97% of the ECMAScript test262 suite and implements the ECMAScript specification.
  • Core features include a bytecode VM inspired by V8’s Ignition, a compacting GC in unsafe Rust, a custom RegExp engine, and a custom parser.
  • Brimstone supports all features up to ES2024 and stage 4 proposals as of Feb 2025, except SharedArrayBuffer and Atomics.
  • Development uses Rust’s cargo tooling, with commands for building, running, unit/snapshot tests, and a custom test262 integration runner.

Hottest takes

“It’s a bit baffling that this engine would choose to implement unsafe garbage collection” — cluckindan
“Rust is not garbage collected though” — MattRix
“who in the fuck would write a garbage collector using garbage collected Rust?” — chiffaa
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.