Uh oh!
There was an error while loading. Please reload this page.
gh-127274: Defer nested methods - #128012
Conversation
Methods (functions defined in class scope) are likely to be cleaned up by the GC anyway. Add a new code flag, `CO_METHOD`, that is set for functions defined in a class scope. Use that when deciding to defer functions.
Uh oh!
There was an error while loading. Please reload this page.
JelleZijlstra
commented
Dec 17, 2024
The other |
mpage
commented
Dec 17, 2024
Should that be done for |
JelleZijlstra
commented
Dec 18, 2024
Wasn't aware of that flag, but if we also added that one recently, then yes. |
mpage
commented
Dec 18, 2024
MacOS-13 build failure looks like an issue with homebrew that is unrelated to this PR. |
mpage
commented
Dec 18, 2024
@JelleZijlstra - would you please have another look? |
JelleZijlstra
left a comment
There was a problem hiding this comment.
Looks good.
Could also add tests that look directly at the flags of a code object, but flags are documented as internal and an implementation detail and CO_HAS_DOCSTRINGS doesn't have tests either, so I think it's fine not to test this.
Methods (functions defined in class scope) are likely to be cleaned up by the GC anyway. Add a new code flag, `CO_METHOD`, that is set for functions defined in a class scope. Use that when deciding to defer functions.
Methods (functions defined in class scope) are likely to be cleaned up by the GC anyway. Add a new code flag, `CO_METHOD`, that is set for functions defined in a class scope. Use that when deciding to defer functions.
Methods (functions defined in class scope) are likely to be cleaned up by the GC anyway, so deferring nested methods will not prolong their lifetime.
Add a new code flag,
CO_METHOD, that is set for functions defined in a class scope. Use that when deciding to defer functions.