bpo-33608: Simplify DISPATCH by hoisting eval_breaker ahead of time. by ericsnowcurrently · Pull Request #12062 · python/cpython
@pitrou insightfully suggested hoisting the eval breaker ahead of time to mitigate any performance hit to ceval's DISPATCH. Regardless of the impact of PR #11617, it's likely a good idea.
Also, I found that the _Py_atomic_* macros had some problems, due to lack of parentheses where appropriate (FWIW, mostly introduced in 2017 in gh-2383). I've fixed those.