GeezerVisonThe World Wide Web, restored to 800 pixels of glory. | ||||||||||||||||||||||
| Home|About|Gaming cabinet|Archives|How it works|Starter sites | ||||||||||||||||||||||
GeezerVison is showing github.com — GH-139922: Tail calling for MSVC (VS 2026) by chris-eibl · Pull Request #143068 · python/cpython Conversation
|
|
In the future, please communicate if you want to supercede a PR for other contributors. It's often considered not good etiquette to take over another person's PR unless they explicitly allow it. However, I'm more than happy to let you take over the PR in this case. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
| // MSVC fails during a tail call release build with loads of | ||
| // error C4737: Unable to perform required tail call. | ||
| // without using Py_NO_INLINE here, but PGO works fine. | ||
| #if defined(_MSC_VER) && !defined(__clang__) && _Py_TAIL_CALL_INTERP && !defined(_Py_USING_PGO) |
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
It needed lots of trial and error to come up with this unintuive minimal change needed to convince MSVC that the local variable passed by reference into result here does not escape the tail call.
Using it as an return value in PyMapping_GetOptionalItem2 is more explicit, but might have other drawbacks?
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Sorry, wasn't ment as superseding, more as a follow up and maybe just a draft for new discussions. Thought about you're gonna take whatever deems appropriate back into your original PR ... If this here is going to fly, I'd like to include you and Brandt as authors for the commits, but don't know how atm ... |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Oh I'm happy to be superseded. If you'd like to attribute commit history though, you can just push a trivial commit with the co-author info like Hugo pointed out, and when I squash and merge I'll use that. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Co-Authored-By: Ken Jin <[email protected]> Co-Authored-By: Brandt Bucher <[email protected]>
|
Try pulling |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
Done |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Co-authored-by: Hugo van Kemenade <[email protected]>
I could not add this one to batch, so have to do it separately Co-authored-by: Hugo van Kemenade <[email protected]>
|
https://github.com/python/cpython/actions/runs/20437258430/job/58722460806 failed inbetween I've found this: #143073 Hopefully, this will fix it ... |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
try to fix "Native Windows MSVC (release)"
There was an error while loading. Please reload this page.
|
Just ignore the JIT problems for now. The new JIT executor management has a known bug #143026 |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
|
🤖 New build scheduled with the buildbot fleet by @Fidget-Spinner for commit da1adaf 🤖 Results will be shown at: https://buildbot.python.org/all/#/grid?branch=refs%2Fpull%2F143068%2Fmerge If you want to schedule another build, you need to add the 🔨 test-with-refleak-buildbots label again. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
|
Benchmark results are within noise for the default interpreter https://github.com/facebookexperimental/free-threading-benchmarking/blob/main/results/bm-20251222-3.15.0a3%2B-da1adaf/bm-20251222-vultr-x86_64-chris%252deibl-msvc_tail_call_new-3.15.0a3%2B-da1adaf-vs-base.md Refleak bots are green. |
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
The reason will be displayed to describe this comment to others. Learn more.
Once again:
Therefore, I'm merging this PR.
Any follow-ups can be done on future PRs. Any discussion about the design can be done on the issue itself.
Sorry, something went wrong.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
There was an error while loading. Please reload this page.
Successfully merging this pull request may close these issues.
There was an error while loading. Please reload this page.