aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/Python/instrumentation.c
diff options
context:
space:
mode:
authorTian Gao <gaogaotiantian@hotmail.com>2024-02-28 07:21:42 -0800
committerGitHub <noreply@github.com>2024-02-28 15:21:42 +0000
commit0a61e237009bf6b833e13ac635299ee063377699 (patch)
tree3f4b945c0e65971740f7a0a3b4d38c2624bcd9a7 /Python/instrumentation.c
parent9578288a3e5a7f42d1f3bec139c0c85b87775c90 (diff)
downloadcpython-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.c4
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);