diff options
author | Victor Stinner <victor.stinner@gmail.com> | 2016-08-24 01:14:54 +0200 |
---|---|---|
committer | Victor Stinner <victor.stinner@gmail.com> | 2016-08-24 01:14:54 +0200 |
commit | dd69564c38de21f2ede269c55fce6db24bb27941 (patch) | |
tree | 4ca7943d6efaf2a1a30190233403095b50cee1ae /Python | |
parent | d48af09043e3f84bc8d3d0e2d9adb4f0be2a70fd (diff) | |
download | cpython-git-dd69564c38de21f2ede269c55fce6db24bb27941.tar.gz |
PyObject_CallMethodObjArgs() now uses fast call
Issue #27809:
* PyObject_CallMethodObjArgs(), _PyObject_CallMethodIdObjArgs() and
PyObject_CallFunctionObjArgs() now use fast call to avoid the creation of a
temporary tuple
* Rename objargs_mktuple() to objargs_mkstack()
* objargs_mkstack() now stores objects in a C array using borrowed references,
instead of storing arguments into a tuple
objargs_mkstack() uses a small buffer allocated on the C stack for 5 arguments
or less, or allocates a buffer in the heap memory.
Note: this change is different than the change 0e4f26083bbb, I fixed the test
to decide if the small stack can be used or not. sizeof(PyObject**) was also
replaced with sizeof(stack[0]) since the sizeof() was wrong (but gave the same
result).
Diffstat (limited to 'Python')
0 files changed, 0 insertions, 0 deletions