bpo-45256: Avoid C calls for more Python to Python calls.#28937
Conversation
|
Did anyone discover what caused the slight slowdown in the initial PR's benchmark? |
Sorry, something went wrong.
…onsume the argument references regardless of whether they succeed or fail.
Maybe the additional tests for consuming references? |
Sorry, something went wrong.
|
🤖 New build scheduled with the buildbot fleet by @markshannon for commit 7c0f498 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
Sorry, something went wrong.
Sorry, something went wrong.
|
🤖 New build scheduled with the buildbot fleet by @pablogsal for commit 03e7ad9 🤖 If you want to schedule another build, you need to add the ":hammer: test-with-buildbots" label again. |
Sorry, something went wrong.
pablogsal
left a comment
There was a problem hiding this comment.
I left some minor comments, otherwise LGTM.
Great work! I have not checked for refleaks, will do this afterwards but I also scheduled a buildbot run
Sorry, something went wrong.
|
I ran the buildbots earlier. All good except the Gentoo ones failing for tkinter stuff. |
Sorry, something went wrong.
|
Unfortunately, seems that this commit has broken the AMD64 FreeBSD Shared 3.x buildbot: https://buildbot.python.org/all/#/builders/483/builds/1003/steps/5/logs/stdio The buildbot was green until we merged this |
Sorry, something went wrong.
|
The BSD entry in https://devguide.python.org/experts/ is empty. Not only that, but the gdb tests are decidedly uninformative when they fail. I'll see what I can come up with. |
Sorry, something went wrong.
|
I am taking a look as well, seems that the problem is that it cannot find |
Sorry, something went wrong.
|
This is one of the errors: |
Sorry, something went wrong.
|
So seems that it was not able to find the previous python frame for some reason |
Sorry, something went wrong.
|
Something is going on, I logged into the buildbot (you need to ask koobs for access by writting to koobs@freebsd.org) and indeed many commands are broken: while on my Linux system: |
Sorry, something went wrong.
|
@markshannon I know the problem. The problem is this code: cpython/Tools/gdb/libpython.py Lines 1804 to 1813 in d02ffd1 This is not correct anymore when the frames are inlined as that frame is the top frame of all of them. The problem is that in the buildbot, the frame is optimized so it goes into this fallback. |
Sorry, something went wrong.
|
I will try to prepare a PR for this. |
Sorry, something went wrong.
Extends the approach used for
CALL_FUNCTIONtoCALL_FUNCTION_KW,CALL_METHODandCALL_METHOD_KW.Also modifies
initialize_localsand_PyTuple_FromArrayStealto have the same behavior w.r.t. reference counting regardless of whether they succeed or fail.https://bugs.python.org/issue45256