diff options
author | Tian Gao <gaogaotiantian@hotmail.com> | 2024-02-28 07:21:42 -0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-28 15:21:42 +0000 |
commit | 0a61e237009bf6b833e13ac635299ee063377699 (patch) | |
tree | 3f4b945c0e65971740f7a0a3b4d38c2624bcd9a7 /Python/instrumentation.c | |
parent | 9578288a3e5a7f42d1f3bec139c0c85b87775c90 (diff) | |
download | cpython-0a61e237009bf6b833e13ac635299ee063377699.tar.gz cpython-0a61e237009bf6b833e13ac635299ee063377699.zip |
gh-107674: Improve performance of `sys.settrace` (GH-114986)
Diffstat (limited to 'Python/instrumentation.c')
-rw-r--r-- | Python/instrumentation.c | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/Python/instrumentation.c b/Python/instrumentation.c index 6f1bc2e0a10..4b7d8b5a587 100644 --- a/Python/instrumentation.c +++ b/Python/instrumentation.c @@ -1156,15 +1156,13 @@ int _Py_call_instrumentation_line(PyThreadState *tstate, _PyInterpreterFrame* frame, _Py_CODEUNIT *instr, _Py_CODEUNIT *prev) { PyCodeObject *code = _PyFrame_GetCode(frame); + assert(tstate->tracing == 0); assert(is_version_up_to_date(code, tstate->interp)); assert(instrumentation_cross_checks(tstate->interp, code)); int i = (int)(instr - _PyCode_CODE(code)); _PyCoMonitoringData *monitoring = code->_co_monitoring; _PyCoLineInstrumentationData *line_data = &monitoring->lines[i]; - if (tstate->tracing) { - goto done; - } PyInterpreterState *interp = tstate->interp; int8_t line_delta = line_data->line_delta; int line = compute_line(code, i, line_delta); |