]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
GH-103082: Filter LINE events in VM, to simplify tool implementation. (GH-104387)
authorMark Shannon <mark@hotpy.org>
Fri, 12 May 2023 11:21:20 +0000 (12:21 +0100)
committerGitHub <noreply@github.com>
Fri, 12 May 2023 11:21:20 +0000 (12:21 +0100)
commit45f5aa8fc73acf516071d52ef8213532f0381316
treebc1f7219305185a7befef7003688d7a4359f98e4
parent19ee53d52e8adf267dfd588c2142967734a3b65a
GH-103082: Filter LINE events in VM, to simplify tool implementation. (GH-104387)

When monitoring LINE events, instrument all instructions that can have a predecessor on a different line.
Then check that the a new line has been hit in the instrumentation code.
This brings the behavior closer to that of 3.11, simplifying implementation and porting of tools.
16 files changed:
Include/internal/pycore_frame.h
Include/internal/pycore_instruments.h
Lib/test/test_monitoring.py
Lib/test/test_pdb.py
Lib/test/test_sys.py
Lib/test/test_sys_settrace.py
Misc/NEWS.d/next/Core and Builtins/2023-05-10-20-52-29.gh-issue-103082.y3LG5Q.rst [new file with mode: 0644]
Objects/frameobject.c
Python/bytecodes.c
Python/ceval.c
Python/ceval_macros.h
Python/generated_cases.c.h
Python/instrumentation.c
Python/legacy_tracing.c
Python/opcode_metadata.h
Tools/c-analyzer/cpython/globals-to-fix.tsv