summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Issue #29465: Add Objects/call.c fileVictor Stinner2017-02-108-1345/+1390
| | | | | | | | | | * Move all functions to call objects in a new Objects/call.c file. * Rename fast_function() to _PyFunction_FastCallKeywords(). * Copy null_error() from Objects/abstract.c * Inline type_error() in call.c to not have to copy it, it was only called once. * Export _PyEval_EvalCodeWithName() since it is now called from call.c.
* Merge 3.6Victor Stinner2017-02-101-2/+3
|\
| * Fix test_datetime on WindowsVictor Stinner2017-02-101-2/+3
| | | | | | | | | | Issue #29100: On Windows, datetime.datetime.fromtimestamp(min_ts) fails with an OSError in test_timestamp_limits().
* | Merge 3.6Victor Stinner2017-02-101-3/+7
|\ \ | |/
| * Fix test_datetime on system with 32-bit time_tVictor Stinner2017-02-101-3/+7
| | | | | | | | Issue #29100: Catch OverflowError in the new test_timestamp_limits() test.
* | Merge 3.6Victor Stinner2017-02-103-21/+79
|\ \ | |/
| * Fix datetime.fromtimestamp(): check boundsVictor Stinner2017-02-103-21/+79
| | | | | | | | | | Issue #29100: Fix datetime.fromtimestamp() regression introduced in Python 3.6.0: check minimum and maximum years.
* | Merge 3.6 (fix #29519)Łukasz Langa2017-02-101-2/+2
|\ \ | |/
| * Merge 3.5 (fix #29519)Łukasz Langa2017-02-102-2/+5
| |\
| | * Fix #29519: weakref spewing exceptions during interp finalizationŁukasz Langa2017-02-102-2/+5
| | |
* | | merge 3.6Benjamin Peterson2017-02-101-5/+7
|\ \ \ | |/ /
| * | massage English for -X descriptions a bitBenjamin Peterson2017-02-101-5/+7
| | |
* | | Issue #29507: Fix _PyObject_CallFunctionVa()Victor Stinner2017-02-091-2/+4
| | | | | | | | | | | | is_size_t test was reversed. Bug spotted by INADA Naoki.
* | | Issue #29507: Update test_exceptionsVictor Stinner2017-02-091-9/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | test_unraisable() of test_exceptions expects that PyErr_WriteUnraisable(method) fails on repr(method). Before the previous change (7b8df4a5d81d), slot_tp_finalize() called PyErr_WriteUnraisable() with a PyMethodObject. In this case, repr(method) calls repr(self) which is BrokenRepr.__repr__() and the calls raises a new exception. After the previous change, slot_tp_finalize() uses an unbound method: repr() is called on a regular __del__() method which doesn't call repr(self). repr() doesn't fail anymore. PyErr_WriteUnraisable() doesn't call __repr__() anymore, so remove BrokenRepr unit test.
* | | Optimize slots: avoid temporary PyMethodObjectVictor Stinner2017-02-093-58/+166
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue #29507: Optimize slots calling Python methods. For Python methods, get the unbound Python function and prepend arguments with self, rather than calling the descriptor which creates a temporary PyMethodObject. Add a new _PyObject_FastCall_Prepend() function used to call the unbound Python method with self. It avoids the creation of a temporary tuple to pass positional arguments. Avoiding temporary PyMethodObject and avoiding temporary tuple makes Python slots up to 1.46x faster. Microbenchmark on a __getitem__() method implemented in Python: Median +- std dev: 121 ns +- 5 ns -> 82.8 ns +- 1.0 ns: 1.46x faster (-31%) Co-Authored-by: INADA Naoki <songofacandy@gmail.com>
* | | Null mergeSerhiy Storchaka2017-02-090-0/+0
|\ \ \ | |/ /
| * | Issue #29513: Fixed a reference leak in os.scandir() added in issue #29034.Serhiy Storchaka2017-02-091-7/+0
| | |
* | | Issue #29513: Fix outdated comment and remove redundand code is os.scandir().Serhiy Storchaka2017-02-091-7/+3
| | |
* | | Merge issue #26355 fix from 3.6Nick Coghlan2017-02-093-0/+5
|\ \ \ | |/ /
| * | Merge issue #26355 fix from Python 3.5Nick Coghlan2017-02-093-0/+5
| |\ \ | | |/
| | * Issue #26355: Specify canonical URLs in docs pagesNick Coghlan2017-02-093-0/+5
| | | | | | | | | | | | | | | | | | | | | Add canonical header link on each page to corresponding major version of the documentation. Patch by Matthias Bussonnier.
* | | Fix PyCFunction_Call() performance issueVictor Stinner2017-02-091-4/+50
| | | | | | | | | | | | | | | | | | | | | Issue #29259, #29465: PyCFunction_Call() doesn't create anymore a redundant tuple to pass positional arguments for METH_VARARGS. Add a new cfunction_call() subfunction.
* | | support: temp_dir() and change_cwd() uses repr() in error messageVictor Stinner2017-02-082-5/+5
| | | | | | | | | | | | | | | Serhiy Storshaka pointed me that str(path) can emit a BytesWarning: use repr(path) instead.
* | | Fix refleaks if Py_EnterRecursiveCall() failsVictor Stinner2017-02-081-1/+4
| | | | | | | | | | | | Issue #29306: Destroy argstuple and kwdict if Py_EnterRecursiveCall() fails.
* | | Fix regrtest -j0 -R outputVictor Stinner2017-02-081-1/+1
| | | | | | | | | | | | Write also dots into stderr, instead of stdout.
* | | Update test_support for my temp_dir/change_cwd changesVictor Stinner2017-02-082-6/+19
| | |
* | | support: add more info on temp_dir() and change_cwd() failureVictor Stinner2017-02-081-4/+6
| | | | | | | | | | | | Log the OSError exception message.
* | | Issue #29306: Fix usage of Py_EnterRecursiveCall()Victor Stinner2017-02-082-73/+90
| | | | | | | | | | | | | | | | | | | | | * *PyCFunction_*Call*() functions now call Py_EnterRecursiveCall(). * PyObject_Call() now calls directly _PyFunction_FastCallDict() and PyCFunction_Call() to avoid calling Py_EnterRecursiveCall() twice per function call
* | | Issue #29441: Merge from 3.6Berker Peksag2017-02-071-17/+4
|\ \ \ | |/ /
| * | Issue #29441: Merge from 3.5Berker Peksag2017-02-071-17/+4
| |\ \ | | |/
| | * Issue #29441: Update examples to use async and await keywords in ↵Berker Peksag2017-02-071-17/+4
| | | | | | | | | | | | asyncio-task.rst
* | | Issue #29314: Merge with 3.6Mariatta Wijaya2017-02-071-1/+2
|\ \ \ | |/ /
| * | Issue #29314: Merge with 3.5Mariatta Wijaya2017-02-071-1/+2
| |\ \ | | |/
| | * Issue #29314: Set the stacklevel to two in asyncio.async() Deprecation WarningMariatta Wijaya2017-02-071-1/+2
| | |
* | | Issue #29371: merge with 3.6Mariatta Wijaya2017-02-071-11/+13
|\ \ \ | |/ /
| * | Issue #29371: merge with 3.5Mariatta Wijaya2017-02-071-11/+13
| |\ \ | | |/
| | * Issue #29371: Clarify bitwise OR operation in doctest option flags.Mariatta Wijaya2017-02-071-11/+13
| | |
* | | Issue #28164: Improves test on Windows 7Steve Dower2017-02-061-16/+22
|\ \ \ | |/ /
| * | Issue #28164: Improves test on Windows 7Steve Dower2017-02-061-16/+22
| | |
* | | Includes ensurepip and venv packages in nuget package.Steve Dower2017-02-061-2/+11
|\ \ \ | |/ /
| * | Includes ensurepip and venv packages in nuget package.Steve Dower2017-02-061-2/+11
| |\ \ | | |/
| | * Includes ensurepip and venv packages in nuget package.Steve Dower2017-02-061-2/+11
| | |
* | | mergeRaymond Hettinger2017-02-061-1/+1
|\ \ \ | |/ /
| * | Substitute a more readable f-stringRaymond Hettinger2017-02-061-1/+1
| | |
* | | Optimize deque index, insert and rotate() methodsVictor Stinner2017-02-061-11/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue #29452: Use METH_FASTCALL calling convention for index(), insert() and rotate() methods of collections.deque to avoid the creation a temporary tuple to pass position arguments. Speedup on deque methods: * d.rotate(): 1.10x faster * d.rotate(1): 1.24x faster * d.insert(): 1.18x faster * d.index(): 1.24x faster
* | | Prohibit implicit C function declarationsVictor Stinner2017-02-063-0/+65
| | | | | | | | | | | | | | | | | | | | | Issue #27659: use -Werror=implicit-function-declaration when possible (GCC and Clang, but it depends on the compiler version). Patch written by Chi Hsuan Yen.
* | | regrtest: don't fail immediately if a child does crashVictor Stinner2017-02-063-6/+16
| | | | | | | | | | | | | | | | | | Issue #29362: Catch a crash of a worker process as a normal failure and continue to run next tests. It allows to get the usual test summary: single line result (OK/FAIL), total duration, etc.
* | | Merge from 3.6Berker Peksag2017-02-061-5/+5
|\ \ \ | |/ /
| * | Fix usage of data directiveBerker Peksag2017-02-061-5/+5
| | |
* | | Issue #29460: _PyArg_NoKeywords(), _PyArg_NoStackKeywords() andSerhiy Storchaka2017-02-064-6/+16
| | | | | | | | | | | | _PyArg_NoPositional() now are macros.