Speculative Optimization
Speculative Optimization is a JIT compilation technique in which the compiler generates machine code based on assumptions about runtime behavior that may not hold for all possible executions. The compiler observes that a variable has been an integer in the past and generates integer-specific machine code; it observes that a function has been called with a specific type and inlines that type's method. These optimizations are guarded by runtime checks, and when the assumption is violated, the system deoptimizes to a less specialized version. Speculative optimization is a form of adaptive control applied to code generation: it trades the risk of misprediction for the reward of specialization. The technique is central to modern JavaScript engines and JVMs, where dynamic typing makes static optimization impossible without runtime assumptions.