- 10 Feb, 2017 13 commits
-
-
Victor Stinner authored
Sorry, I didn't want to push this change before the review :-( I was pushing a change into the 2.7 branch.
-
Victor Stinner authored
* 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.
-
Victor Stinner authored
-
Victor Stinner authored
Issue #29100: On Windows, datetime.datetime.fromtimestamp(min_ts) fails with an OSError in test_timestamp_limits().
-
Victor Stinner authored
-
Victor Stinner authored
Issue #29100: Catch OverflowError in the new test_timestamp_limits() test.
-
Victor Stinner authored
-
Victor Stinner authored
Issue #29100: Fix datetime.fromtimestamp() regression introduced in Python 3.6.0: check minimum and maximum years.
-
Łukasz Langa authored
-
Łukasz Langa authored
-
Łukasz Langa authored
-
Benjamin Peterson authored
-
Benjamin Peterson authored
-
- 09 Feb, 2017 10 commits
-
-
Victor Stinner authored
is_size_t test was reversed. Bug spotted by INADA Naoki.
-
Victor Stinner authored
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.
-
Victor Stinner authored
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>
-
Serhiy Storchaka authored
-
Serhiy Storchaka authored
-
Serhiy Storchaka authored
-
Nick Coghlan authored
-
Nick Coghlan authored
-
Nick Coghlan authored
Add canonical header link on each page to corresponding major version of the documentation. Patch by Matthias Bussonnier.
-
Victor Stinner authored
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.
-
- 08 Feb, 2017 6 commits
-
-
Victor Stinner authored
Serhiy Storshaka pointed me that str(path) can emit a BytesWarning: use repr(path) instead.
-
Victor Stinner authored
Issue #29306: Destroy argstuple and kwdict if Py_EnterRecursiveCall() fails.
-
Victor Stinner authored
Write also dots into stderr, instead of stdout.
-
Victor Stinner authored
-
Victor Stinner authored
Log the OSError exception message.
-
Victor Stinner authored
* *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
-
- 07 Feb, 2017 9 commits
-
-
Berker Peksag authored
-
Berker Peksag authored
-
Berker Peksag authored
-
Mariatta Wijaya authored
-
Mariatta Wijaya authored
-
Mariatta Wijaya authored
-
Mariatta Wijaya authored
-
Mariatta Wijaya authored
-
Mariatta Wijaya authored
-
- 06 Feb, 2017 2 commits
-
-
Steve Dower authored
-
Steve Dower authored
-