summaryrefslogtreecommitdiffstats
path: root/Misc/NEWS.d/next
diff options
context:
space:
mode:
authorSam Gross <colesbury@gmail.com>2024-09-12 16:37:06 (GMT)
committerGitHub <noreply@github.com>2024-09-12 16:37:06 (GMT)
commitb2afe2aae487ebf89897e22c01d9095944fd334f (patch)
tree3ffa3ebfe3c69cd21968ce76d8d7cb2f325ff6d3 /Misc/NEWS.d/next
parent4ed7d1d6acc22807bfb5983c98fd59f7cb5061db (diff)
downloadcpython-b2afe2aae487ebf89897e22c01d9095944fd334f.zip
cpython-b2afe2aae487ebf89897e22c01d9095944fd334f.tar.gz
cpython-b2afe2aae487ebf89897e22c01d9095944fd334f.tar.bz2
gh-123923: Defer refcounting for `f_executable` in `_PyInterpreterFrame` (#123924)
Use a `_PyStackRef` and defer the reference to `f_executable` when possible. This avoids some reference count contention in the common case of executing the same code object from multiple threads concurrently in the free-threaded build.
Diffstat (limited to 'Misc/NEWS.d/next')
-rw-r--r--Misc/NEWS.d/next/Core_and_Builtins/2024-09-10-20-25-00.gh-issue-123923.A7uxqa.rst4
1 files changed, 4 insertions, 0 deletions
diff --git a/Misc/NEWS.d/next/Core_and_Builtins/2024-09-10-20-25-00.gh-issue-123923.A7uxqa.rst b/Misc/NEWS.d/next/Core_and_Builtins/2024-09-10-20-25-00.gh-issue-123923.A7uxqa.rst
new file mode 100644
index 0000000..b7bc965
--- /dev/null
+++ b/Misc/NEWS.d/next/Core_and_Builtins/2024-09-10-20-25-00.gh-issue-123923.A7uxqa.rst
@@ -0,0 +1,4 @@
+The ``f_executable`` field in the internal :c:struct:`_PyInterpreterFrame`
+struct now uses a tagged pointer. Profilers and debuggers that uses this
+field should clear the least significant bit to recover the
+:c:expr:`PyObject*` pointer.