Skip to content

Commit bef623c

Browse files
Don't deopt due to eval breaker
1 parent f2ce4bb commit bef623c

File tree

3 files changed

+11
-4
lines changed

3 files changed

+11
-4
lines changed

Include/internal/pycore_uop_metadata.h

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Python/bytecodes.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5400,7 +5400,10 @@ dummy_func(
54005400
_Py_emscripten_signal_clock -= Py_EMSCRIPTEN_SIGNAL_HANDLING;
54015401
#endif
54025402
uintptr_t eval_breaker = _Py_atomic_load_uintptr_relaxed(&tstate->eval_breaker);
5403-
DEOPT_IF(eval_breaker & _PY_EVAL_EVENTS_MASK);
5403+
if (eval_breaker & _PY_EVAL_EVENTS_MASK) {
5404+
int err = _Py_HandlePending(tstate);
5405+
ERROR_IF(err != 0);
5406+
}
54045407
assert(tstate->tracing || eval_breaker == FT_ATOMIC_LOAD_UINTPTR_ACQUIRE(_PyFrame_GetCode(frame)->_co_instrumentation_version));
54055408
}
54065409

Python/executor_cases.c.h

Lines changed: 6 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)