Debugging optimized code with dynamic deoptimization | Synapse