Post

The downside in a moving GC with unrooted stack values is that the engine needs to be very careful around things that could trigger GC: Thankfully Rust can make this a build-time check. The upside is that you see all the places where JS code can be called. It's terrifying: How does anything work!

0 reposts4 likes

It's not a big surprise that JIT compilers are notoriously complicated and dangerous: The number of edge cases that can call into user code is effectively unbounded. If we ever get into a JIT, let us hope it's very strongly typed!