GH-113486: Do not emit spurious PY_UNWIND events for optimized calls to classes. (GH-113680)

This commit is contained in:
Mark Shannon 2024-01-05 09:45:22 +00:00 committed by GitHub
parent ed6ea3ea79
commit 0ae60b66de
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 64 additions and 28 deletions

View file

@ -2111,6 +2111,9 @@ do_monitor_exc(PyThreadState *tstate, _PyInterpreterFrame *frame,
_Py_CODEUNIT *instr, int event)
{
assert(event < _PY_MONITORING_UNGROUPED_EVENTS);
if (_PyFrame_GetCode(frame)->co_flags & CO_NO_MONITORING_EVENTS) {
return 0;
}
PyObject *exc = PyErr_GetRaisedException();
assert(exc != NULL);
int err = _Py_call_instrumentation_arg(tstate, event, frame, instr, exc);