From bf4bc36069ef1ed4be4be2ae70404f78bff056d9 Mon Sep 17 00:00:00 2001 From: Mark Shannon Date: Wed, 4 Oct 2023 16:09:48 +0100 Subject: GH-109369: Merge all eval-breaker flags and monitoring version into one word. (GH-109846) --- Python/executor_cases.c.h | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'Python/executor_cases.c.h') diff --git a/Python/executor_cases.c.h b/Python/executor_cases.c.h index b3ccf8d4363..c6eeee4925e 100644 --- a/Python/executor_cases.c.h +++ b/Python/executor_cases.c.h @@ -12,9 +12,10 @@ DEOPT_IF(_Py_emscripten_signal_clock == 0, RESUME); _Py_emscripten_signal_clock -= Py_EMSCRIPTEN_SIGNAL_HANDLING; #endif - /* Possibly combine these two checks */ - DEOPT_IF(_PyFrame_GetCode(frame)->_co_instrumentation_version != tstate->interp->monitoring_version, RESUME); - DEOPT_IF(_Py_atomic_load_relaxed_int32(&tstate->interp->ceval.eval_breaker), RESUME); + uintptr_t eval_breaker = _Py_atomic_load_uintptr_relaxed(&tstate->interp->ceval.eval_breaker); + uintptr_t version = _PyFrame_GetCode(frame)->_co_instrumentation_version; + assert((version & _PY_EVAL_EVENTS_MASK) == 0); + DEOPT_IF(eval_breaker != version, RESUME); break; } -- cgit v1.2.3