gh-124642: Dictionaries aren't marking objects as weakref'd#124643
Merged
DinoV merged 3 commits intopython:mainfrom Sep 30, 2024
Merged
gh-124642: Dictionaries aren't marking objects as weakref'd#124643DinoV merged 3 commits intopython:mainfrom
DinoV merged 3 commits intopython:mainfrom
Conversation
graingert
reviewed
Sep 26, 2024
| if (value != NULL) { | ||
| assert(ix >= 0); | ||
| Py_INCREF(value); | ||
| _Py_NewRefWithLock(value); |
Contributor
There was a problem hiding this comment.
Do you have a test for this change?
Contributor
Author
There was a problem hiding this comment.
There's not a great way to test this short of actually inspecting the ob_ref_shared field which isn't something we've done yet in free-threaded builds, so I'm not sure we want/need one.
The end result is just poor performance, but that's difficult to measure. It also requires a pretty particular set of circumstances to manifest, e.g. the shared ref count needs to already be 0 when we're increfing it here.
a4820a6 to
6c286b2
Compare
colesbury
approved these changes
Sep 30, 2024
|
Thanks @DinoV for the PR 🌮🎉.. I'm working now to backport this PR to: 3.13. |
miss-islington
pushed a commit
to miss-islington/cpython
that referenced
this pull request
Sep 30, 2024
…thonGH-124643) Dictionaries aren't marking objects as weakref'd (cherry picked from commit 077e7ef) Co-authored-by: Dino Viehland <dinoviehland@meta.com>
|
GH-124798 is a backport of this pull request to the 3.13 branch. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.