Writing a JIT Compiler Is Easy. Making Your OS Accept It Is Hell.
Building a JIT compiler seems like a code generation problem. It’s not. The real battle is fighting your operating system’s stack unwinding mechanisms β DWARF tables on Linux, SEH on Windows, compact unwind on macOS β none of which were designed for code that didn’t exist at compile time. Your JITted code is invisible to the OS until you make it known, and that’s where projects die.