Inada Naoki
3e54b57531
bpo-37340: remove free_list for bound method objects (GH-14232)
2019-07-26 15:05:50 +09:00
Jeroen Demeyer
7b57c03a7c
bpo-37151: remove _PyMethodDef_RawFastCall* functions (GH-14603)
2019-07-05 17:43:22 +02:00
Jeroen Demeyer
0d722f3cd6
bpo-36974: separate vectorcall functions for each calling convention (GH-13781)
2019-07-05 14:48:24 +02:00
Jeroen Demeyer
7e1a9aacff
bpo-37151: remove _PyCFunction_FastCallDict (GH-14269)
2019-06-21 00:38:45 +09:00
Jeroen Demeyer
37788bc23f
bpo-36974: rename _FastCallKeywords -> _Vectorcall (GH-13653)
2019-05-30 15:11:22 +02:00
Jeroen Demeyer
aacc77fbd7
bpo-36974: implement PEP 590 (GH-13185)
...
Co-authored-by: Jeroen Demeyer <J.Demeyer@UGent.be >
Co-authored-by: Mark Shannon <mark@hotpy.org >
2019-05-29 20:31:52 +02:00
Serhiy Storchaka
a5552f023e
bpo-32240: Add the const qualifier to declarations of PyObject* array arguments. ( #4746 )
2017-12-15 13:11:11 +02:00
Anselm Kruis
9e33973332
bpo-31890: define METH_STACKLESS ( #4159 )
...
Add METH_STACKLESS to prevent future collisions.
2017-11-02 15:54:57 -07:00
Serhiy Storchaka
6969eaf468
bpo-29464: Rename METH_FASTCALL to METH_FASTCALL|METH_KEYWORDS and make ( #1955 )
...
the bare METH_FASTCALL be used for functions with positional-only
parameters.
2017-07-03 21:20:15 +03:00
INADA Naoki
5566bbb8d5
Issue #29263 : LOAD_METHOD support for C methods
...
Calling builtin method is at most 10% faster.
2017-02-03 07:43:03 +09:00
Victor Stinner
c52572319c
Optimize methoddescr_call(): avoid temporary PyCFunction
...
Issue #29259 , #29263 . methoddescr_call() creates a PyCFunction object, call it
and the destroy it. Add a new _PyMethodDef_RawFastCallDict() method to avoid
the temporary PyCFunction object.
2017-01-18 10:38:09 +01:00
Victor Stinner
137f39ac90
Issue #27810 : Exclude METH_FASTCALL from the stable API
2016-09-12 15:55:21 +02:00
Victor Stinner
a9efb2f56e
Add METH_FASTCALL calling convention
...
Issue #27810 : Add a new calling convention for C functions:
PyObject* func(PyObject *self, PyObject **args,
Py_ssize_t nargs, PyObject *kwnames);
Where args is a C array of positional arguments followed by values of keyword
arguments. nargs is the number of positional arguments, kwnames are keys of
keyword arguments. kwnames can be NULL.
2016-09-09 17:40:22 -07:00
Victor Stinner
ae8b69c410
Issue #27810 : Add _PyCFunction_FastCallKeywords()
...
Use _PyCFunction_FastCallKeywords() in ceval.c: it allows to remove a lot of
code from ceval.c which was only used to call C functions.
2016-09-09 14:07:44 -07:00
Victor Stinner
74319ae219
Use Py_ssize_t type for number of arguments
...
Issue #27848 : use Py_ssize_t rather than C int for the number of function
positional and keyword arguments.
2016-08-25 00:04:09 +02:00
Victor Stinner
b900939186
_PyFunction_FastCallDict() supports keyword args
...
Issue #27809 :
* Rename _PyFunction_FastCall() to _PyFunction_FastCallDict()
* Rename _PyCFunction_FastCall() to _PyCFunction_FastCallDict()
* _PyFunction_FastCallDict() now supports keyword arguments
2016-08-22 23:15:44 +02:00
Victor Stinner
9be7e7b52f
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
2016-08-19 16:11:43 +02:00
Serhiy Storchaka
45ec3288d0
Removed trailing whitespaces in miscalenous files.
2015-04-03 19:42:32 +03:00
Antoine Pitrou
b349e4c929
Issue #22116 : C functions and methods (of the 'builtin_function_or_method' type) can now be weakref'ed. Patch by Wei Wu.
2014-08-06 19:31:40 -04:00
Andrew Svetlov
192b10b371
Revert back PyCFunction_New macro. Keep PyCFunction_NewEx usage in python core modules ( #15422 )
2012-12-26 22:52:04 +02:00
Andrew Svetlov
3ba3a3ee56
Issue #15422 : get rid of PyCFunction_New macro
2012-12-25 13:32:35 +02:00
David Malcolm
49526f48fc
Issue #14785 : Add sys._debugmallocstats() to help debug low-level memory allocation issues
2012-06-22 14:55:41 -04:00
Eli Bendersky
0069bab115
Reformat by replacing tabs with 4-spaces. Makes the code more PEP-7 compliant
...
and gets rid of some gross formatting on tab=4-space-configured editors.
2012-04-05 06:42:48 +03:00
Antoine Pitrou
5b62942074
Issue #13577 : Built-in methods and functions now have a __qualname__.
...
Patch by sbt.
2011-12-23 12:40:16 +01:00
Martin v. Löwis
4d0d471a80
Merge branches/pep-0384.
2010-12-03 20:14:31 +00:00