GH-105848: Replace KW_NAMES + CALL with LOAD_CONST + CALL_KW#109300
GH-105848: Replace KW_NAMES + CALL with LOAD_CONST + CALL_KW#109300brandtbucher merged 14 commits into
KW_NAMES + CALL with LOAD_CONST + CALL_KW#109300Conversation
|
🤖 New build scheduled with the buildbot fleet by @brandtbucher for commit 53917a5 🤖 If you want to schedule another build, you need to add the 🔨 test-with-buildbots label again. |
Sorry, something went wrong.
|
🤖 New build scheduled with the buildbot fleet by @brandtbucher for commit 53917a5 🤖 If you want to schedule another build, you need to add the 🔨 test-with-refleak-buildbots label again. |
Sorry, something went wrong.
Sorry, something went wrong.
|
Can you add |
Sorry, something went wrong.
|
Ignoring the buildbot failures since they're all either failing on |
Sorry, something went wrong.
That's only useful if we're recording failure kinds, right? We're not in this case, so I don't think it would actually add anything other than an empty section. |
Sorry, something went wrong.
Get rid of the magic
kwnamesside-channel and split out calls with a tuple of keyword names on the stack (CALL_KW) from those with no keyword arguments (the existingCALLfamily). Stats on an earlier version of this branch suggested that specializingCALL_KWjust isn't worth it.Other cleanup:
mark_stacksthat was missed in GH-105848: Simplify the arrangement ofCALL's stack #107788 (some docs, too).CALLspecialization with the nameCALL_NO_KW_*has theNO_KWpart dropped, since that should be obvious with the new split.The new
CALL_KWinstruction is mostly copied and lightly modified from the existingCALLinstruction. They can probably share code using uops, but that's a project for another day.CALLsequence #105848📚 Documentation preview 📚: https://cpython-previews--109300.org.readthedocs.build/