summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Disable _PyStack_AsTuple() inliningVictor Stinner2017-01-112-2/+17
| | | | | | | | | | | | | | | 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)
* Inline call_function()Victor Stinner2017-01-101-2/+4
| | | | | | | | | | | | | Issue #29227: Inline call_function() into _PyEval_EvalFrameDefault() using Py_LOCAL_INLINE to reduce the stack consumption. It reduces the stack consumption, bytes per call, before => after: test_python_call: 1152 => 1040 (-112 B) test_python_getitem: 1008 => 976 (-32 B) test_python_iterator: 1232 => 1120 (-112 B) => total: 3392 => 3136 (- 256 B)
* call_method() now uses _PyObject_FastCall()Victor Stinner2017-01-103-52/+66
| | | | | | | | | | | | | | | | | | | 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.
* Issue #29217: Merge 3.6.Xiang Zhang2017-01-101-1/+1
|\
| * Issue #29217: Merge 3.5.Xiang Zhang2017-01-101-1/+1
| |\
| | * Issue #29217: Fix the wrong type description of UUID.variant.Xiang Zhang2017-01-101-1/+1
| | |
* | | Issue #29145: Merge 3.6.Xiang Zhang2017-01-102-7/+9
|\ \ \ | |/ /
| * | Issue #29145: Merge 3.5.Xiang Zhang2017-01-101-6/+8
| |\ \ | | |/
| | * Issue #29145: Fix overflow checks in str.replace() and str.join().Xiang Zhang2017-01-101-6/+8
| | | | | | | | | | | | Based on patch by Martin Panter.
* | | Closes #29177: Merged fix from 3.6.Vinay Sajip2017-01-091-24/+62
|\ \ \ | |/ /
| * | Fixes #29177: Improved resilience of logging tests which use socket servers.Vinay Sajip2017-01-091-24/+62
| | | | | | | | | | | | Thanks to Xavier de Gaye for the report and patch improvements.
* | | Closes #29133: merged update from 3.6.Vinay Sajip2017-01-091-15/+11
|\ \ \ | |/ / | | | | | | Thanks to Evan_ for the report and Marco Buttu for the patch.
| * | Fixes #29133: clarified shlex documentation.Vinay Sajip2017-01-091-15/+11
| | |
* | | Add test for ea064ff3c10fRaymond Hettinger2017-01-091-0/+9
| | |
* | | Backed out changeset ea064ff3c10fRaymond Hettinger2017-01-091-6/+0
| | |
* | | While a speedup of 1% is measurable, contexts aren't created that often,Stefan Krah2017-01-091-4/+4
| | | | | | | | | | | | so let's defer this until 3.7, 3.8, ... all have this new function.
* | | Merge 3.6.Stefan Krah2017-01-091-7/+7
|\ \ \ | |/ /
| * | Merge 3.5.Stefan Krah2017-01-091-7/+7
| |\ \ | | |/
| | * Issue #28701: Revert part of 5bdc8e1a50c8 for the following reasons:Stefan Krah2017-01-091-7/+7
| | | | | | | | | | | | | | | | | | - There was no real problem to begin with. - The hypothetical problem has been fixed by 5bdc8e1a50c8.
* | | Merge 3.6Victor Stinner2017-01-090-0/+0
|\ \ \ | |/ /
| * | Null merge 3.5Victor Stinner2017-01-090-0/+0
| |\ \ | | |/ | | | | | | Python/random.c is more then in the 3.6 branch.
| | * Issue #29157: Prefer getrandom() over getentropy()Victor Stinner2017-01-091-200/+294
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Copy and then adapt Python/random.c from default branch. Difference between 3.5 and default branches: * Python 3.5 only uses getrandom() in non-blocking mode: flags=GRND_NONBLOCK * If getrandom() fails with EAGAIN: py_getrandom() immediately fails and remembers that getrandom() doesn't work. * Python 3.5 has no _PyOS_URandomNonblock() function: _PyOS_URandom() works in non-blocking mode on Python 3.5
* | | Issue #29190: Fixed possible errors in comparing strings in the pickle module.Serhiy Storchaka2017-01-091-12/+6
|\ \ \ | |/ /
| * | Issue #29190: Fixed possible errors in comparing strings in the pickle module.Serhiy Storchaka2017-01-091-12/+6
| |\ \ | | |/
| | * Issue #29190: Fixed possible errors in comparing strings in the pickle module.Serhiy Storchaka2017-01-091-12/+6
| | |
* | | Issue #29142: Merge 3.6.Xiang Zhang2017-01-093-1/+7
|\ \ \ | |/ /
| * | Issue #29142: Merge 3.5.Xiang Zhang2017-01-093-1/+7
| |\ \ | | |/
| | * Issue #29142: Fix suffixes in no_proxy handling in urllib.Xiang Zhang2017-01-093-1/+6
| | | | | | | | | | | | | | | | | | In urllib.request, suffixes in no_proxy environment variable with leading dots could match related hostnames again (e.g. .b.c matches a.b.c). Patch by Milan Oberkirch.
* | | Sync-up lru_cache() C code with space saving feature in the Python version.Raymond Hettinger2017-01-091-0/+6
| | |
* | | mergeRaymond Hettinger2017-01-090-0/+0
|\ \ \ | |/ /
| * | Sync-up with 3.7 by backporting minor lru_cache code beautificationRaymond Hettinger2017-01-091-3/+4
| | |
* | | Complete the merge for issue #29203Raymond Hettinger2017-01-091-31/+18
| | |
* | | mergeRaymond Hettinger2017-01-092-4/+13
|\ \ \ | |/ /
| * | Issue #29203: functools.lru_cache() now respects PEP 468Raymond Hettinger2017-01-094-35/+35
| | |
* | | Issue #29034: Merge 3.6.Xiang Zhang2017-01-082-53/+58
|\ \ \ | |/ /
| * | Issue #29034: Fix memory leak and use-after-free in path_converter.Xiang Zhang2017-01-082-53/+58
| | |
* | | mergeRaymond Hettinger2017-01-081-0/+8
|\ \ \ | |/ /
| * | Add OrderedDict test for PEP 468 (guaranteed ordered of kwargs)Raymond Hettinger2017-01-081-0/+8
| | |
* | | mergeRaymond Hettinger2017-01-081-4/+5
|\ \ \ | |/ /
| * | Update OrderedDict docs to reflect acceptance of PEP 468Raymond Hettinger2017-01-081-4/+5
| | |
* | | Issue #29200: Fix test to use self.assertEqual instead of py.test style testsRaymond Hettinger2017-01-081-12/+12
| | |
* | | Issue #29200: Add test for lru cache only calling __hash__ onceRaymond Hettinger2017-01-081-0/+36
| | |
* | | Issue #28815: Merge test tweak from 3.6Martin Panter2017-01-081-7/+3
|\ \ \ | |/ /
| * | Issue #28815: Merge test tweak from 3.5Martin Panter2017-01-081-7/+3
| |\ \ | | |/
| | * Issue #28815: Use new exception subclassesMartin Panter2017-01-081-7/+3
| | |
* | | Merge 3.6.Stefan Krah2017-01-081-0/+1
|\ \ \ | |/ /
| * | Add comment why the change in d83884b3a427 wasn't necessary.Stefan Krah2017-01-081-0/+1
| | |
* | | Merge 3.6.Stefan Krah2017-01-081-1/+1
|\ \ \ | |/ /
| * | Revert part of 3cb3e224b692 in code that I maintain.Stefan Krah2017-01-081-1/+1
| | |
* | | Revert part of dbf72357cb4a that is in a rarely used path and causesStefan Krah2017-01-071-1/+1
| | | | | | | | | | | | maintenance issues (cost/benefit).