Viewing profile — cfallin
cfallin
HN member- Joined
- Mon, Aug 27, 2012, 8:16 PM UTC
- HN karma
- 1,502
- Public activity
- 310 items
- HN profile
- View on Hacker News ↗
About cfallin
Currently: Senior Architect at F5, working on Cranelift/Wasmtime in the Office of the CTO.
Previously: Principal software engineer at Fastly, working on Cranelift/Wasmtime for the Wasm-based Compute@Edge project, 2020-2024. Mozilla, working on the SpiderMonkey and Cranelift JIT compilers in Firefox, 2019-2020; PhD student (ECE) and then postdoc (CS) at Carnegie Mellon working on compilers, static and dynamic analysis (2009-2013, 2015-2019).
More previously: Google (2014-2015), and Intel (2013-2014).
Web: https://cfallin.org/
[ my public key: https://keybase.io/cfallin; my proof: https://keybase.io/cfallin/sigs/ZJj2pg69eB6Hs0cl9j_babYkyADojbWrfe4uZp11LMo ]
Recent public activity
-
comment
Comment #47771915
Oh goodness, that name is so good! (And thanks!)
-
comment
Comment #47767164
Thanks! I haven't studied Graal's IR in detail, no. I'll add it to my reading list...
-
comment
Comment #47767136
OK, cool. I was assuming "escape analysis and type inference" implied a JS JIT -- straight from your comment, no other assumptions intended. But you've got a lot of interesting exp…
-
comment
Comment #47766803
Hi Fil -- thanks for the comment! I think we may be playing in slightly different spaces: unlike a JS JIT, Cranelift doesn't have "super fancy escape/type analysis". We're really t…
-
comment
Comment #46214597
We have two: fuel and epochs. Fuel (analogous to "gas" as it appears in many VM platforms) is a deterministic count and epochs check an always-increasing counter in shared memory m…
- story
-
comment
Comment #45282661
No, it's still behind a flag (and so transitively, exceptions are too, because we built exception objects on top of GC). Our docs ( https://docs.wasmtime.dev/stability-tiers.html )…
-
comment
Comment #45282201
> It'll be interesting to see what the second non-browser-based WASM runtime to fully support 3.0 will be (I'm guessing wasmtime will be first; ...) Wasmtime already supports every…
-
comment
Comment #44163749
They're hitting another design point on the compile time vs. code-quality tradeoff curve, which is interesting. They compile 4.27x faster than Cranelift with default (higher qualit…
- story
- story
-
comment
Comment #40411973
Indeed; the tl;dr is "yes it works on SpiderMonkey, and was designed to do so". Blog post in a few months, I promise!
-
comment
Comment #40411963
> That is, if x and y are determined only at runtime for power(x, y) then I don't see what can be optimized. Yes, the example in Max's post is specifically assuming one wants to ge…
-
comment
Comment #40408300
This is indeed a good point and something I want to write about when I eventually do a blog post on weval. A few counterpoints that I'd offer (and what led me to still take this ap…
-
comment
Comment #40407589
weval author here (thanks Max for the blog post!). Also AMA! The talk about weval that Max mentions was at NEU and also CMU; the latter was recorded and is here: https://vimeo.com/…
-
comment
Comment #39752535
The approach that Cranelift uses is what we call the "aegraph" (talk I gave about it: slides https://cfallin.org/pubs/egraphs2023_aegraphs_slides.pdf , video https://vimeo.com/8435…
-
comment
Comment #39752112
We actually take a fairly unconventional approach to e-graphs: we have a few linear passes and we do all rewrites eagerly, so we use them to provide a general framework for the fix…
-
comment
Comment #39752098
Right, it's about algorithmic tradeoffs throughout. A good example I wrote about is here: https://cfallin.org/blog/2021/01/22/cranelift-isel-2/ where we use a single-pass algorithm…
-
comment
Comment #39752073
There are some benchmarks of Cranelift-based Wasm VMs (Wasmtime) vs. LLVM-based Wasm VMs here: https://00f.net/2023/01/04/webassembly-benchmark-2023/ The (perhaps slightly exaggera…
- story
-
comment
Comment #35615628
A small correction re: Cranelift -- I had originally prototyped with egg, but we're currently using a variant of egraphs I invented called "acyclic egraphs" after working through p…
- story
- story
-
comment
Comment #32914994
The perf blogpost actually uses SpiderMonkey-compiled-to-Wasm as a benchmark rather than a comparison (peer) of Wasmtime. However, there are some good comparisons done by a third p…
-
comment
Comment #31696745
That's a good question for bjorn3, the leader of that effort; they periodically publish status updates. Over on the Reddit discussion someone pointed to this GitHub issue too: http…