Deoptimization — falling back from optimized code when assumptions break — is the safety net that lets V8 and HotSpot speculate aggressively; when a JavaScript object's shape changes, TurboFan-generated code bails out to the interpreter mid-function. It is the hardest and most distinctive piece of VM engineering, and debugging 'deopt storms' is a real performance discipline.