summaryrefslogtreecommitdiffstats
path: root/Include
Commit message (Collapse)AuthorAgeFilesLines
...
| | * | Version bump for Python 3.5.3.v3.5.3Larry Hastings2017-01-161-3/+3
| | | |
* | | | Issue #29360: _PyStack_AsDict() doesn't check kwnamesVictor Stinner2017-01-241-6/+9
| | | | | | | | | | | | | | | | | | | | Remove two assertions which can fail on legit code. Keyword arguments are checked later with better tests and raise a regular (TypeError) exception.
* | | | Issue #28999: Use Py_RETURN_NONE, Py_RETURN_TRUE and Py_RETURN_FALSE whereverSerhiy Storchaka2017-01-231-6/+3
| | | | | | | | | | | | | | | | possible but Coccinelle couldn't find opportunity.
* | | | Issue #28769: The result of PyUnicode_AsUTF8AndSize() and PyUnicode_AsUTF8()Serhiy Storchaka2017-01-221-2/+2
| | | | | | | | | | | | | | | | is now of type "const char *" rather of "char *".
* | | | Optimize methoddescr_call(): avoid temporary PyCFunctionVictor Stinner2017-01-181-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Remove unused func parameter of _PyStack_UnpackDict()Victor Stinner2017-01-181-2/+1
| | | | | | | | | | | | | | | | Issue #29259.
* | | | Add _PyArg_UnpackStack() function helperVictor Stinner2017-01-171-0/+10
| | | | | | | | | | | | | | | | Issue #29286.
* | | | _PyStack_UnpackDict() now returns -1 on errorVictor Stinner2017-01-171-5/+8
| | | | | | | | | | | | | | | | | | | | Issue #29286. Change _PyStack_UnpackDict() prototype to be able to notify of failure when args is NULL.
* | | | Add _PyArg_NoStackKeywords() helper functionVictor Stinner2017-01-171-1/+2
| | | | | | | | | | | | | | | | | | | | Issue #29286. Similar to _PyArg_NoKeywords(), but expects a tuple of keyword names, instead of a dict.
* | | | Add _PyArg_ParseStack() helper functionVictor Stinner2017-01-171-3/+13
| | | | | | | | | | | | | | | | | | | | Issue #29286. Function similar to PyArg_ParseTuple(), but uses a C array of PyObject* to pass arguments. Don't support the compatibility mode.
* | | | Rename _PyArg_ParseStack to _PyArg_ParseStackAndKeywordsVictor Stinner2017-01-172-4/+4
| | | | | | | | | | | | | | | | Issue #29286.
* | | | Add _PyStack_AsTupleSlice() helperVictor Stinner2017-01-161-0/+6
| | | |
* | | | Issue #28969: Fixed race condition in C implementation of functools.lru_cache.Serhiy Storchaka2017-01-121-0/+1
|\ \ \ \ | |/ / / | | | | | | | | | | | | KeyError could be raised when cached function with full cache was simultaneously called from differen threads with the same uncached arguments.
| * | | Issue #28969: Fixed race condition in C implementation of functools.lru_cache.Serhiy Storchaka2017-01-121-0/+1
| |\ \ \ | | | |/ | | |/| | | | | | | | | KeyError could be raised when cached function with full cache was simultaneously called from differen threads with the same uncached arguments.
| | * | Issue #28969: Fixed race condition in C implementation of functools.lru_cache.Serhiy Storchaka2017-01-121-0/+1
| | |/ | | | | | | | | | | | | KeyError could be raised when cached function with full cache was simultaneously called from differen threads with the same uncached arguments.
| | * Post-release fixups for Python 3.5.3rc1.Larry Hastings2017-01-031-1/+1
| | |
| | * Version bump for 3.5.3rc1.v3.5.3rc1Larry Hastings2017-01-021-4/+4
| | |
* | | Disable _PyStack_AsTuple() inliningVictor Stinner2017-01-111-1/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue #29234: Inlining _PyStack_AsTuple() into callers increases their stack consumption, Disable inlining to optimize the stack consumption. Add _Py_NO_INLINE: use __attribute__((noinline)) of GCC and Clang. It reduces the stack consumption, bytes per call, before => after: test_python_call: 1040 => 976 (-64 B) test_python_getitem: 976 => 912 (-64 B) test_python_iterator: 1120 => 1056 (-64 B) => total: 3136 => 2944 (- 192 B)
* | | call_method() now uses _PyObject_FastCall()Victor Stinner2017-01-101-8/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge 3.6Victor Stinner2017-01-051-1/+1
|\ \ \ | |/ /
| * | Issue #27961: Define HAVE_LONG_LONG as 1.Victor Stinner2017-01-051-1/+1
| | | | | | | | | | | | | | | Fix backward compatibility issue, HAVE_LONG_LONG was defined but empty, whereas it is defined as 1 in Python 3.5.
* | | Issue #28915: Exclude _Py_VaBuildStack from the limited API.Serhiy Storchaka2016-12-271-0/+4
| | |
* | | Issue #28427: old keys should not remove new values fromAntoine Pitrou2016-12-271-0/+2
|\ \ \ | |/ / | | | | | | WeakValueDictionary when collecting from another thread.
| * | Issue #28427: old keys should not remove new values fromAntoine Pitrou2016-12-271-0/+2
| |\ \ | | |/ | | | | | | WeakValueDictionary when collecting from another thread.
| | * Issue #28427: old keys should not remove new values fromAntoine Pitrou2016-12-271-0/+2
| | | | | | | | | | | | WeakValueDictionary when collecting from another thread.
* | | Issue #29058: All stable API extensions added after Python 3.2 are nowSerhiy Storchaka2016-12-2718-7/+85
|\ \ \ | |/ / | | | | | | | | | available only when Py_LIMITED_API is set to the PY_VERSION_HEX value of the minimum Python version supporting this API.
| * | Issue #29058: All stable API extensions added after Python 3.2 are nowSerhiy Storchaka2016-12-2718-7/+85
| | | | | | | | | | | | | | | available only when Py_LIMITED_API is set to the PY_VERSION_HEX value of the minimum Python version supporting this API.
* | | Issue #29049: Call _PyObject_GC_TRACK() lazily when calling Python function.INADA Naoki2016-12-241-1/+5
| | | | | | | | | | | | Calling function is up to 5% faster.
* | | abstract.h: remove long outdated commentVictor Stinner2016-12-191-118/+2
| | | | | | | | | | | | | | | | | | | | | Issue #28838: The documentation is of the Python C API is more complete and more up to date than this old comment. Removal suggested by Antoine Pitrou.
* | | Issue #29009: Merge 3.6.Xiang Zhang2016-12-191-4/+0
|\ \ \ | |/ /
| * | Issue #29009: Merge 3.5.Xiang Zhang2016-12-191-4/+0
| |\ \ | | |/
| | * Issue #29009: Remove outdated doc of PyUnicode_RichCompare.Xiang Zhang2016-12-191-4/+0
| | |
* | | Issue #18896: Python function can now have more than 255 parameters.Serhiy Storchaka2016-12-161-4/+3
| | | | | | | | | | | | collections.namedtuple() now supports tuples with more than 255 elements.
* | | Issue #28959: Added private macro PyDict_GET_SIZE for retrieving the size of ↵Serhiy Storchaka2016-12-162-1/+3
| | | | | | | | | | | | dict.
* | | Add _PY_FASTCALL_SMALL_STACK constantVictor Stinner2016-12-151-0/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | Issue #28870: Add a new _PY_FASTCALL_SMALL_STACK constant, size of "small stacks" allocated on the C stack to pass positional arguments to _PyObject_FastCall(). _PyObject_Call_Prepend() now uses a small stack of 5 arguments (40 bytes) instead of 8 (64 bytes), since it is modified to use _PY_FASTCALL_SMALL_STACK.
* | | Issue #28838: Cleanup abstract.hVictor Stinner2016-12-151-621/+423
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Rewrite all comments to use the same style than other Python header files: comment functions *before* their declaration, no newline between the comment and the declaration. Reformat some comments, add newlines, to make them easier to read. Quote argument like 'arg' to mention an argument in a comment.
* | | Issue #26110: Add LOAD_METHOD/CALL_METHOD opcodes.Yury Selivanov2016-12-141-0/+2
| | | | | | | | | | | | | | | | | | | | | Special thanks to INADA Naoki for pushing the patch through the last mile, Serhiy Storchaka for reviewing the code, and to Victor Stinner for suggesting the idea (originally implemented in the PyPy project).
* | | Add _PyObject_VaCallFunctionObjArgs() private functionVictor Stinner2016-12-081-0/+6
| | | | | | | | | | | | | | | Issue #28915: Similar to _PyObject_CallFunctionObjArgs() but use va_list to pass arguments.
* | | Add _Py_VaBuildStack() functionVictor Stinner2016-12-081-0/+13
| | | | | | | | | | | | | | | Issue #28915: Similar to Py_VaBuildValue(), but work on a C array of PyObject*, instead of creating a tuple.
* | | merge 3.6 (#28898)Benjamin Peterson2016-12-081-2/+3
|\ \ \ | |/ /
| * | guard HAVE_LONG_LONG definition to prevent redefinition (#28898)Benjamin Peterson2016-12-081-2/+3
| | |
| * | Prepare for 3.6.1. Any further 3.6.0 release candidates and 3.6.0 final ↵Ned Deily2016-12-071-3/+3
| | | | | | | | | | | | will be cherrypicked and merged here.
| * | Version bump for 3.6.0rc1v3.6.0rc1Ned Deily2016-12-071-3/+3
| | |
* | | Issue #28838: Fix weird indentation of abstract.hVictor Stinner2016-12-061-847/+859
| | | | | | | | | | | | Remove most indentation to move code at the left.
* | | Uniformize argument names of "call" functionsVictor Stinner2016-12-062-70/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue #28838: Rename parameters of the "calls" functions of the Python C API. * Rename 'callable_object' and 'func' to 'callable': any Python callable object is accepted, not only Python functions * Rename 'method' and 'nameid' to 'name' (method name) * Rename 'o' to 'obj' * Move, fix and update documentation of PyObject_CallXXX() functions in abstract.h * Update also the documentaton of the C API (update parameter names)
* | | Fixed misplaced comment.Serhiy Storchaka2016-12-061-6/+6
|\ \ \ | |/ /
| * | Fixed misplaced comment.Serhiy Storchaka2016-12-061-6/+6
| |\ \ | | |/
| | * Fixed misplaced comment.Serhiy Storchaka2016-12-061-6/+6
| | |
* | | Issue #28808: PyUnicode_CompareWithASCIIString() now never raises exceptions.Serhiy Storchaka2016-12-051-1/+1
|\ \ \ | |/ /
| * | Issue #28808: PyUnicode_CompareWithASCIIString() now never raises exceptions.Serhiy Storchaka2016-12-051-1/+1
| |\ \ | | |/