]> git.ipfire.org Git - thirdparty/Python/cpython.git/commit
Add _PyObject_FastCall()
authorVictor Stinner <victor.stinner@gmail.com>
Fri, 19 Aug 2016 14:11:43 +0000 (16:11 +0200)
committerVictor Stinner <victor.stinner@gmail.com>
Fri, 19 Aug 2016 14:11:43 +0000 (16:11 +0200)
commit9be7e7b52fa4b48012e956167a344df691195a04
treeb556a431bb06664b814b206dee3790eb2ac00464
parentfa46aa78996cbeb30ccbeb9c405a54459d5d55de
Add _PyObject_FastCall()

Issue #27128: Add _PyObject_FastCall(), a new calling convention avoiding a
temporary tuple to pass positional parameters in most cases, but create a
temporary tuple if needed (ex: for the tp_call slot).

The API is prepared to support keyword parameters, but the full implementation
will come later (_PyFunction_FastCall() doesn't support keyword parameters
yet).

Add also:

* _PyStack_AsTuple() helper function: convert a "stack" of parameters to
  a tuple.
* _PyCFunction_FastCall(): fast call implementation for C functions
* _PyFunction_FastCall(): fast call implementation for Python functions
Include/abstract.h
Include/funcobject.h
Include/methodobject.h
Objects/abstract.c
Objects/methodobject.c
Python/ceval.c