-
-
Notifications
You must be signed in to change notification settings - Fork 31.1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
gh-123923: Defer refcounting for f_funcobj
in _PyInterpreterFrame
#124026
Conversation
…Frame` Use a `_PyStackRef` and defer the reference to `f_funcobj` 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.
🤖 New build scheduled with the buildbot fleet by @colesbury for commit db12634 🤖 If you want to schedule another build, you need to add the 🔨 test-with-refleak-buildbots label again. |
target = uop.deferred_refs[tkn] | ||
if target is None: | ||
# An assignment we don't handle, such as to a pointer or array. | ||
self.out.emit(tkn) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This change seemed to fix some duplicate ;;
in generated_cases.c.h
🤖 New build scheduled with the buildbot fleet by @colesbury for commit cd3d83d 🤖 If you want to schedule another build, you need to add the 🔨 test-with-refleak-buildbots label again. |
Use a
_PyStackRef
and defer the reference tof_funcobj
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._PyInterpreterFrame
fields #123923