mirror of
https://github.com/python/cpython.git
synced 2025-07-24 11:44:31 +00:00
![]() Issue #29233: Replace the inefficient _PyObject_VaCallFunctionObjArgs() with _PyObject_FastCall() in call_method() and call_maybe(). Only a few functions call call_method() and call it with a fixed number of arguments. Avoid the complex and expensive _PyObject_VaCallFunctionObjArgs() function, replace it with an array allocated on the stack with the exact number of argumlents. It reduces the stack consumption, bytes per call, before => after: test_python_call: 1168 => 1152 (-16 B) test_python_getitem: 1344 => 1008 (-336 B) test_python_iterator: 1568 => 1232 (-336 B) Remove the _PyObject_VaCallFunctionObjArgs() function which became useless. Rename it to object_vacall() and make it private. |
||
---|---|---|
.. | ||
clinic | ||
stringlib | ||
abstract.c | ||
accu.c | ||
boolobject.c | ||
bytearrayobject.c | ||
bytes_methods.c | ||
bytesobject.c | ||
capsule.c | ||
cellobject.c | ||
classobject.c | ||
codeobject.c | ||
complexobject.c | ||
descrobject.c | ||
dict-common.h | ||
dictnotes.txt | ||
dictobject.c | ||
enumobject.c | ||
exceptions.c | ||
fileobject.c | ||
floatobject.c | ||
frameobject.c | ||
funcobject.c | ||
genobject.c | ||
iterobject.c | ||
listobject.c | ||
listsort.txt | ||
lnotab_notes.txt | ||
longobject.c | ||
memoryobject.c | ||
methodobject.c | ||
moduleobject.c | ||
namespaceobject.c | ||
object.c | ||
obmalloc.c | ||
odictobject.c | ||
rangeobject.c | ||
README | ||
setobject.c | ||
sliceobject.c | ||
structseq.c | ||
tupleobject.c | ||
typeobject.c | ||
typeslots.inc | ||
typeslots.py | ||
unicodectype.c | ||
unicodeobject.c | ||
unicodetype_db.h | ||
weakrefobject.c |
Source files for various builtin objects