bpo-45256: Remove the usage of the C stack in Python to Python calls#28488
bpo-45256: Remove the usage of the C stack in Python to Python calls#28488pablogsal merged 17 commits into
Conversation
|
🤖 New build scheduled with the buildbot fleet by @pablogsal for commit b4149b6d80bc85c73104ca0f98ee3754cf5d485c 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
Sorry, something went wrong.
b4149b6 to
415273d
Compare
September 21, 2021 11:03
markshannon
left a comment
There was a problem hiding this comment.
Looking good. A few minor issues.
Sorry, something went wrong.
|
When you're done making the requested changes, leave the comment: |
Sorry, something went wrong.
|
@markshannon Damn, unfortunately something is going on with Windows: Apparently that is a |
Sorry, something went wrong.
|
@markshannon Oh, I found the source of the Windows failure: it was an existing bug in the That was challenging to find indeed! |
Sorry, something went wrong.
|
🤖 New build scheduled with the buildbot fleet by @pablogsal for commit 50276ad8813bfd0bb0455d0e699e2ee301071f00 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
Sorry, something went wrong.
Fidget-Spinner
left a comment
There was a problem hiding this comment.
This is really cool. I just have a few comments on readability. No idea why ASAN is failing tbh.
One other concern I have is that this slows down non-python function calls very slightly (with the two additional checks). I highly doubt it's measurable on pyperformance though.
Sorry, something went wrong.
|
I cannot reproduce the ASAN bug. :( |
Sorry, something went wrong.
98fced8 to
21b7d29
Compare
September 21, 2021 15:36
|
There're refleaks but I can't pinpoint where :( |
Sorry, something went wrong.
Ths commit inlines calls to Python functions in the eval loop and steals all the arguments in the call from the caller for performance.
21b7d29 to
e1091e0
Compare
September 21, 2021 16:31
|
🤖 New build scheduled with the buildbot fleet by @pablogsal for commit 0ddc46e25e4885562f7d1e962b9b30eea2b0283d 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
Sorry, something went wrong.
I hadn't realized the docs were so sparse. Probably best to do it in another PR. |
Sorry, something went wrong.
|
@markshannon what do you think of 0ddc46e for now? I dislike this approach (is correct, but is difficult to reason about if you don't have the full picture in mind). Should we do the refactor now, should we do a smaller refactor or should we just do some celanup of 0ddc46e ? |
Sorry, something went wrong.
Just do the minimal cleanup of 0ddc46e that you are happy with for now. |
Sorry, something went wrong.
0ddc46e to
1de88f6
Compare
October 7, 2021 09:58
|
🤖 New build scheduled with the buildbot fleet by @pablogsal for commit 1de88f6 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
Sorry, something went wrong.
|
@markshannon I had to fix some merge conflicts and I have done the cleanup. I am building again with the buildbot fleet but this should be ready for a first version. |
Sorry, something went wrong.
|
🤖 New build scheduled with the buildbot fleet by @pablogsal for commit f313e8c 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
Sorry, something went wrong.
Fidget-Spinner
left a comment
There was a problem hiding this comment.
The C changes LGTM. Some minor formatting nits at https://github.com/python/cpython/pull/28488/files#r717573235 and below.
Huge disclaimer: I am not a Python-GDB expert! It would be better to have someone else reviewing those changes.
Sorry, something went wrong.
|
@Fidget-Spinner Thanks for the review! I am not going to push anything new until the buildbots pass to not restart the long refleak builds yet again. I will fix the formatting issues in a new PR unless @markshannon wants to change something fundamental (I also plan to rename the |
Sorry, something went wrong.
I was just about to mention that. Good call! |
Sorry, something went wrong.
|
Cleanups happening here: #28836 @markshannon After that is merged, I will create a PR to address the counter to convert it to a "entry frame" flag. |
Sorry, something went wrong.
https://bugs.python.org/issue45256