Sign in

Ryan Hunt

@eqrion.bsky.social
84 followers 82 following 51 posts

Working on WebAssembly at Mozilla! social.eqrion.net/@ryan eqrion.net

PostsRepliesMedia
Reposted by Ryan Hunt
Firefox for Web Developers @webdevs.firefox.com · 08/10/2026
What do you want us to work on in 2027? Here's a web app where you can rank the Interop proposals you care about, giving us data we can use to prioritise feature development. interop-rank.fxdx.dev
interop-rank.fxdx.dev
Interop Feature Ranking
Rank the web platform features you care most about
1214773
Ryan Hunt @eqrion.bsky.social · 06/10/2026
Wasm stack switching in SpiderMonkey is the most complex feature I've ever built. One of those projects you get lost and start rethinking the basics like "what is the stack even really?" Was fun to give a talk on it: www.youtube.com/watch?v=OvYF...
youtube.com
WebAssembly Stack Switching in SpiderMonkey
YouTube video by Ryan Hunt
1143
Reposted by Ryan Hunt
Ryan "UnionToTuple" Cavanaugh @searyanc.dev · 02/10/2026
Not sure who needs to hear this but there is not a sensible threat model where you have to defend against the possibility that the operating system lies to you about the size of a block of memory it allocated
2151
Ryan Hunt @eqrion.bsky.social · 28/09/2026
Thanks!
000
Ryan Hunt @eqrion.bsky.social · 28/09/2026
WebAssembly Dark Corners: Control Flow... (including: 1 weird trick that Wasm VMs don't want you to know!) eqrion.net/wasm-dark-co...
eqrion.net
WebAssembly Dark Corners: Part 1 - Control Flow · Ryan Hunt's Blog
The first in a series on surprising corners of WebAssembly. This one covers control flow: why Wasm has no direct jumps, how blocks and loops work instead, and the compromises that design forces on too...
1102
Ryan Hunt @eqrion.bsky.social · 25/09/2026
On the debugging front, I'm trying to stand up an effort to have true source level debugging for languages compiled to WebAssembly. The situation is really poor right now, and almost no one is working on it.
030
Ryan Hunt @eqrion.bsky.social · 25/09/2026
I'm sure that was a tough decision, lots of respect. I know you have lots of options for what's next, but I'm sure we at Mozilla would take you back if you were interested!
110
Ryan Hunt @eqrion.bsky.social · 19/09/2026
Eventually we could, but no plans for that in the first prototype. The focus is going to be on DOM API performance to start.
111
Ryan Hunt @eqrion.bsky.social · 18/09/2026
I'm working on this. We're trying to build a developer preview of wasm components running in Firefox, along with getting good docs and toolchain support so that people can try it out easily. Should have more details later this year!
23311
Reposted by Ryan Hunt
IntentToShip @intenttoship.dev · 18/09/2026
Gecko: Intent to prototype: WebAssembly Component Model
groups.google.com
Gecko: Intent to prototype: WebAssembly Component Model
Gecko: Intent to prototype: WebAssembly Component Model
0121
Reposted by Ryan Hunt
Firefox for Web Developers @webdevs.firefox.com · 04/08/2026
JS promise integration for WebAssembly landed in Firefox 153, making it easier to work with asynchronous calls from Wasm. Here's how it works:
313220
Ryan Hunt @eqrion.bsky.social · 08/07/2026
Well, ten years goes by quick! I'm feeling sentimental, so I thought I'd write about my time at Mozilla, what I've learned, and what I'm still excited for. eqrion.net/ten-years-at...
eqrion.net
Just Keep At It: A Decade at Mozilla · Ryan Hunt's Blog
How ten years at Mozilla happened, from a graphics intern in 2016 to working on the WebAssembly standard. A look back at how I got here, what I learned along the way, and why I'm still here.
161
Ryan Hunt @eqrion.bsky.social · 30/06/2026
Midwest tokenmaxxing (iykyk)
Altogether too many scoopy tokens
000
Ryan Hunt @eqrion.bsky.social · 24/06/2026
But it’s not really moving forward much right now. Some users playing around with it would be valuable!
020
Ryan Hunt @eqrion.bsky.social · 24/06/2026
The one nice part of compilation-hints in that respect is that it’s more of a PGO format. It just describes which things were called and how much. Engines can decide what to do with it. In fact I think the idea is to have engines collect this info for you, like in PGO.
110
Ryan Hunt @eqrion.bsky.social · 24/06/2026
V8 actually has a heuristic that tries to guess if a module has had inlining applied already. TBH - I haven’t thought much about this space. Hints are tricky for web engines because they’re easy for users to abuse (ask engine to inline everything), and then engines start to ignore them.
110
Ryan Hunt @eqrion.bsky.social · 24/06/2026
There is a proposal for compilation-hints, that’s roughly what you’re thinking of. Only V8 has an implementation right now.
120
Ryan Hunt @eqrion.bsky.social · 24/06/2026
SpiderMonkey also inlines small functions at runtime. The main motivation for us is call_ref, where AOT optimizers can’t reliably devirtualize small method calls. You need a runtime inliner for that. We also inline direct function calls too, because we already have the infrastructure.
120
Ryan Hunt @eqrion.bsky.social · 03/06/2026
Gimme! Gimme! Gimme! An AB(B)A problem in my memory allocator...
020
Ryan Hunt @eqrion.bsky.social · 02/06/2026
Our 4-year old just referred to '?' as the 'mystery mark'. And now I'm wondering if it's not too late to rename it?
0190
Reposted by Ryan Hunt
Firefox for Web Developers @webdevs.firefox.com · 01/06/2026
We're experimenting with a way to visualize session history in Firefox DevTools, and we'd love your feedback! Here's the background, and how to try it: blog.farre.se/posts/2026/0...
36612
Ryan Hunt @eqrion.bsky.social · 20/05/2026
On this Woden's Day, we say Skål to asm.js! spidermonkey.dev/blog/2026/05...
spidermonkey.dev
Saying goodbye to asm.js
Disabling asm.js optimizations in SpiderMonkey
1165
Ryan Hunt @eqrion.bsky.social · 14/05/2026
Just had two NPE's this week (aka. Near Pwned2Own Experiences). Always remember: Index liberatus, vita nulla
010
Ryan Hunt @eqrion.bsky.social · 28/04/2026
alt: my yearly offering to the white tailed deer population
000
Ryan Hunt @eqrion.bsky.social · 28/04/2026
My 300 white spruce saplings were delivered today. Guess I know what I’m doing tonight and and tomorrow..
Box of white spruce saplings
230
Ryan Hunt @eqrion.bsky.social · 23/04/2026
Anyone interested in contributing is welcome to join the #webassembly channel on MDN's discord. discord.gg/9kqNjFdfpD
discord.gg
Join the MDN Web Docs Community Discord Server!
The MDN server is a space for web developers of all levels to learn, share, and grow together. | 7420 members
010
Ryan Hunt @eqrion.bsky.social · 22/04/2026
We’re building a user-friendly WebAssembly language reference on MDN! Want to help make Wasm more accessible? We’re looking for technical writers and reviewers to join the project. Start here if you're interested: github.com/mdn/mdn/issu...
github.com
Create a WebAssembly language reference · Issue #821 · mdn/mdn
WebAssembly has a work-in-progress language reference. It documents 1.0 instructions, reference-types, and nearly all of SIMD. I'm filing this to track the remaining gaps to get caught up to the cu...
3124
Ryan Hunt @eqrion.bsky.social · 15/04/2026
I just switched to it this year after using TT for the last 3. It worked great, and handled some mildly complicated K-1s well.
010
Reposted by Ryan Hunt
Ben Visness @bvisness.me · 14/04/2026
On June 6 we are hosting the Handmade Network Expo in Vancouver, BC, an event celebrating software made from scratch. Among the lineup: a new game from Anton Mikhailov & @nicbarker.com, a time travel debugger by @leddoo.bsky.social, a language and IDE from @frogtoss.bsky.social, and more. (1/2)
A picture of the Vancouver skyline
121
Reposted by Ryan Hunt
Keith Cirkel @keithamus.social · 13/04/2026
If you're a framework author or maintainer, please consider joining the WFCG! discord.gg/fXCngmSwHz We're trying to find ways the web platform can be improved for frameworks, what new primitives can be added, or what can be changed. We'll be talking about templating today, come join!
discord.gg
Join the WFCG Discord Server!
Web Frameworks Community Group | 27 members
12317
Ryan Hunt @eqrion.bsky.social · 12/04/2026
Have you checked out the custom descriptors proposal? It has a “WasmGC-JS interop” part which lets you give a WasmGC struct a JS prototype. Curious if it’d be useful to you, or if there’s something different we should standardize.
120
Ryan Hunt @eqrion.bsky.social · 07/04/2026
This is one of the reasons Mozilla is investigating it and prototyping it. We want to make sure it can work well on the Web. To be fair to the component folks, they also want it to work well on the Web too. And there's no path to standardization in the Wasm CG without two browsers supporting it.
050
Reposted by Ryan Hunt
Ben Visness @bvisness.me · 07/04/2026
Next week we are hosting the Handmade Essentials Jam: a one-week jam where we build essential software from scratch, by hand. If you like building simple software, or want to get better at coding without AI, then sign up and join us next week: handmade.network/jam/essentials
handmade.network
Handmade Essentials Jam
Build simple programs you would use every day, from scratch, by hand. April 13 - 19, 2026.
221
Reposted by Ryan Hunt
Miguel de Icaza @migueldeicaza.bsky.social · 31/03/2026
Its the Monthly Swift on WebAssembly Xmas update! forums.swift.org/t/swift-for-...
forums.swift.org
083
Ryan Hunt @eqrion.bsky.social · 30/03/2026
Nothing summons a foot of snow quicker than whispering to yourself “I think spring is finally here”.
010
Reposted by Ryan Hunt
zalim (kotlin wasm compiler webassembly VM) @bashorov.com · 26/03/2026
Wow 🤩! @wasm.io just wrapped last week, and the first talk is already live 🚀 Check out: “Towards a Component Model 1.0” by @lukewagner.name 👇 www.youtube.com/watch?v=qq0A... #WebAssembly #Wasm #wasmio26 #ComponentModel
youtube.com
Towards a Component Model 1.0 by Luke Wagner @ Wasm I/O 2026
YouTube video by WASM I/O
1155
Ryan Hunt @eqrion.bsky.social · 26/03/2026
free-solo climbing is cool and all, but have you ever had to carry 2000 lines of uncommitted code on your clipboard while rewriting a different file?
020
Ryan Hunt @eqrion.bsky.social · 24/03/2026
Interested in getting involved in WebAssembly standards? The JS type reflection proposal needs a champion! Mentorship would be available. We'd love to see new folks in wasm standards. Current proposal is here: github.com/WebAssembly/...
01811
Ryan Hunt @eqrion.bsky.social · 24/03/2026
The stack is the powerhouse of the VM
010
Ryan Hunt @eqrion.bsky.social · 24/03/2026
If the solution requires a fixed-width font to explain, you know it’s a fun problem.
mad-house ASCII diagram of executable stacks linked together.
141
Reposted by Ryan Hunt
Firefox for Web Developers @webdevs.firefox.com · 23/03/2026
There are many browsers, but only three widely-used engines. We maintain one of those engines - Gecko. Here's why we feel that browser engine diversity is essential for the future of the web blog.mozilla.org/netpolicy/20...
blog.mozilla.org
Competition, Innovation, and the Future of the Web – Why Independent Browser Engines Matter – Open Policy & Advocacy
Gecko matters because it ensures there’s an independent voice shaping how the internet evolves. Without Gecko, the landscape would be dominated by Apple and Google alone. Is that really the ...
1488
Ryan Hunt @eqrion.bsky.social · 17/03/2026
Did they make it sound like a scary exploit? We just had a similar report of a “type confusion vulnerability” in our wasm engine. In the end, they were the only ones confused about how types work
120
Ryan Hunt @eqrion.bsky.social · 16/03/2026
Sweet! Emma and I have talked about doing that (in reserve). We’ll probably need to wait until the littles are old. You’ll pass about 20 minutes from our house.
110
Ryan Hunt @eqrion.bsky.social · 16/03/2026
It's gonna be one of those sorts of days, huh?
rhunt@rhunt-ubuntu:~/src/fx-a$ ./mach jit-test wasm/
[5030|   0|   0| 683] 100% ==========================================>| 943.2s
PASSED ALL
Segmentation fault (core dumped)
010
Ryan Hunt @eqrion.bsky.social · 16/03/2026
wife: we need to talk about our plans for tonight me: wow look at the discontinuity on this snow dune
a cool little snow dune
010
Ryan Hunt @eqrion.bsky.social · 16/03/2026
I fear no man. But that thing... [Implicit Integer Promotion Rules] ...it scares me.
000
Reposted by Ryan Hunt
zalim (kotlin wasm compiler webassembly VM) @bashorov.com · 15/03/2026
Check out a sample server using wasi-http built with our early #WebAssembly Component Model support in @Kotlin! 🤩 github.com/Kotlin/sampl... Still early, but very satisfying to see it working ✨ Give it a spin and share what you build 🚀 #Wasm #Kotlin #ComponentModel 1/2👇
2178
Ryan Hunt @eqrion.bsky.social · 11/03/2026
Finally reached the "Subject Matter Expert" phase of my career. The subject? An exploit targeting code I wrote. But progress is progress?
042
Ryan Hunt @eqrion.bsky.social · 10/03/2026
(We probably should just add some form of nominal types)
020
Ryan Hunt @eqrion.bsky.social · 10/03/2026
Another cursed way to emulate them: encode the name hash into a struct type, and add it as a nullable field to every struct. Apparently some toolchains have experimented with this (I won’t name names)
420