Tracing JIT
Tracing JIT is a just-in-time compiler that records the actual execution trace of a program — the sequence of instructions and function calls executed through a hot loop — and compiles that trace into optimized machine code as a single linear unit. Unlike method-based JITs that compile individual functions, tracing JITs exploit the observation that programs frequently execute the same paths through multiple functions, and that inlining those paths eliminates call overhead and enables cross-procedural optimizations. The technique was pioneered by the Dynamo project and later implemented in LuaJIT, PyPy, and TraceMonkey. The trace is a temporal snapshot: it captures not what the program could do, but what the program did, and compiles that history into its future.