Commit Graph

95318 Commits

Author SHA1 Message Date
Victor Stinner e62b852605 PyObject_CallMethodObjArgs() now uses fast call
Issue #27809:

* PyObject_CallMethodObjArgs(), _PyObject_CallMethodIdObjArgs() and
  PyObject_CallFunctionObjArgs() now use fast call to avoid the creation of a
  temporary tuple
* Rename objargs_mktuple() to objargs_mkstack()
* objargs_mkstack() now stores objects in a C array using borrowed references,
  instead of storing arguments into a tuple

objargs_mkstack() uses a small buffer allocated on the C stack for 5 arguments
or less, or allocates a buffer in the heap memory.
2016-08-24 00:01:56 +02:00
Victor Stinner a9ba1ab21b Issue #27809: map_next() uses fast call
Use a small stack allocated in the C stack for up to 5 iterator functions,
otherwise allocates a stack on the heap memory.
2016-08-23 17:56:06 +02:00
Mark Dickinson f428521481 Backed out changeset 1017215f5492 2016-08-23 20:00:49 +01:00
Alexander Belopolsky 7c7c14696b Issue #27834: Avoid overflow error in ZoneInfo.invert(). 2016-08-23 14:44:51 -04:00
Zachary Ware c019bd3033 Fix markup, add versionadded tags 2016-08-23 13:23:31 -05:00
Terry Jan Reedy ffcb022738 Issue #27787: No longer call deleted test_main(). 2016-08-23 14:20:37 -04:00
Guido van Rossum 1f5beb7a6e A new version of typing.py from https://github.com/python/typing. (Merge 3.5->3.6) 2016-08-23 11:06:30 -07:00
Guido van Rossum efa798d1ba A new version of typing.py from https://github.com/python/typing. 2016-08-23 11:01:50 -07:00
Guido van Rossum f0666949fd Issue 27598: Add Collections to collections.abc.
Patch by Ivan Levkivskyi, docs by Neil Girdhar.
2016-08-23 10:47:07 -07:00
Steven D'Aprano 9ff4fb3619 Automated merge with ssh://hg.python.org/cpython 2016-08-24 02:40:31 +10:00
Steven D'Aprano 0a21c729eb Re-licence statistics.py under the standard Python licence. 2016-08-24 02:40:03 +10:00
Guido van Rossum f06c7b6f37 In asyncio.locks.Lock.acquire(): Avoid deadlock when a cancelled future is in self._waiters. (Merge 3.5->3.6) 2016-08-23 09:39:26 -07:00
Guido van Rossum 83f5a3846c In asyncio.locks.Lock.acquire(): Avoid deadlock when a cancelled future is in self._waiters. 2016-08-23 09:39:03 -07:00
Steven D'Aprano 228731879a Add documentation for geometric and harmonic means. 2016-08-24 02:34:25 +10:00
Mark Dickinson 4fe9f163af Issue #26040 (part 1): add new testcases to cmath_testcases.txt. Thanks Jeff Allen. 2016-08-23 17:33:54 +01:00
Steven D'Aprano 6877ed3560 Issue #27573 make the exit message configurable. 2016-08-24 01:42:15 +10:00
Mark Dickinson 7caf908c64 Issue #27832: Make _normalize parameter to Fraction.__init__ keyword-only. 2016-08-23 16:16:52 +01:00
Victor Stinner f4d28d4385 Issue #27809: partial_call() uses fast call for positional args 2016-08-23 16:22:35 +02:00
Martin Panter 1fa6915427 Issue #27787: Remove test_main() and hard-coded list of test classes
The @reap_threads decorator made the test wait (for up to 1 s) until
background threads have finished.  Calling join() with a timeout should be
equivalent.
2016-08-23 09:01:43 +00:00
Vinay Sajip 9ae505041f Issue #12713: reverted fix pending further discussion. 2016-08-23 08:43:16 +01:00
Victor Stinner d1c2a8e2b5 Issue #27809: builtin___build_class__() uses fast call 2016-08-23 01:34:35 +02:00
Victor Stinner 6e2333dfdf PyEval_CallObjectWithKeywords() doesn't inc/decref
Issue #27809: PyEval_CallObjectWithKeywords() doesn't increment temporary the
reference counter of the args tuple (positional arguments). The caller already
holds a strong reference to it.
2016-08-23 00:25:01 +02:00
Victor Stinner 7e7823a037 Issue #27809: methodcaller_reduce() uses fast call 2016-08-23 00:23:23 +02:00
Victor Stinner 6412f4993a Issue #27809: _csv: _call_dialect() uses fast call 2016-08-23 00:21:34 +02:00
Victor Stinner d1584d3e7e Issue #27809: tzinfo_reduce() uses fast call 2016-08-23 00:11:04 +02:00
Victor Stinner f45a56150b Issue #27809: PyErr_SetImportError() uses fast call 2016-08-23 00:04:41 +02:00
Victor Stinner 3a84097291 Add _PyErr_CreateException()
Issue #27809: Helper function optimized to create an exception: use fastcall
whenever possible.
2016-08-22 23:59:08 +02:00
Victor Stinner 463b86a881 Issue #27809: Use _PyObject_FastCallDict()
Modify:

* init_subclass()
* builtin___build_class__()

Fix also a bug in init_subclass(): check for super() failure.
2016-08-22 23:33:13 +02:00
Victor Stinner 155ea65e5c PyEval_CallObjectWithKeywords() uses fast call with kwargs
Issue #27809. _PyObject_FastCallDict() now supports keyword arguments, and so
the args==NULL fast-path can also be used when kwargs is not NULL.
2016-08-22 23:26:00 +02:00
Victor Stinner 2990fa11bc Issue #27809: Use _PyObject_FastCallDict()
Modify:

* builtin_sorted()
* classmethoddescr_call()
* methoddescr_call()
* wrapperdescr_call()
2016-08-22 23:21:55 +02:00
Victor Stinner 6fea7f7ffc Issue #27809: Cleanup _PyEval_EvalCodeWithName()
* Rename nm to name
* PEP 7: add { ... } to if/else blocks
2016-08-22 23:17:30 +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 559bb6a713 Rename _PyObject_FastCall() to _PyObject_FastCallDict()
Issue #27809:

* Rename _PyObject_FastCall() function to _PyObject_FastCallDict()
* Add _PyObject_FastCall(), _PyObject_CallNoArg() and _PyObject_CallArg1()
  macros calling _PyObject_FastCallDict()
2016-08-22 22:48:54 +02:00
Berker Peksag c98afb7a26 Issue #27587: Merge from 3.5 2016-08-22 18:07:02 +03:00
Berker Peksag 4b7b565c58 Issue #27587: Move null pointer check earlier in _PyState_AddModule()
This was found by PVS-Studio:

V595 The 'def' pointer was utilized before it was verified
against nullptr. Check lines: 286, 292. pystate.c 286

Initial patch by Christian Heimes.
2016-08-22 18:05:56 +03:00
Victor Stinner ad7b6c3720 Issue #27829: libregrtest.save_env: flush stderr
Use flush=True to try to get a warning which is missing in buildbots.

Use also f-string to make the code shorter.
2016-08-22 14:29:54 +02:00
Victor Stinner ab98367747 Cleanup libregrtest
* main.py: remove unused import
* runtest: simplify runtest_inner() parameters, reuse ns parameter
2016-08-22 14:28:52 +02:00
Mark Dickinson b820d7f631 Issue #27792: force int return type for modulo operations involving bools. 2016-08-22 12:24:46 +01:00
Victor Stinner 2eedc119c2 Optimize call to Python function without argument
Issue #27128. When a Python function is called with no arguments, but all
parameters have a default value: use default values as arguments for the fast
path.
2016-08-22 12:29:42 +02:00
Mark Dickinson 0add84b9b8 Issue #27539: Merge from 3.5. 2016-08-22 10:56:06 +01:00
Mark Dickinson 844796530a Issue #27539: Fix unnormalised Fraction.__pow__ result for negative exponent and base. Thanks Vedran Čačić. 2016-08-22 10:50:53 +01:00
Raymond Hettinger dc65c68524 Remove main section that was only used during testing and development 2016-08-21 20:52:26 -07:00
Jason R. Coombs c758d51aa8 Issue #27819: Add more detail in What's New in 3.6. 2016-08-21 16:09:27 -04:00
Benjamin Peterson 201c328524 remove unused list of pgen srcs 2016-08-21 12:53:09 -07:00
Serhiy Storchaka 54cd1969ea Issue #26984: int() now always returns an instance of exact int. 2016-08-21 20:03:08 +03:00
Berker Peksag d7f3cdd07d Issue #21718: Merge from 3.5 2016-08-21 19:41:38 +03:00
Berker Peksag 6afe85827c Issue #21718: cursor.description is now available for queries using CTEs
According to PEP 249, cursor.description must be
available for any SELECT statements, such as those
that use CTEs.

Backported from f67fa9c898

Additional test cases added by me.
2016-08-21 19:38:47 +03:00
Mark Dickinson 1dc3c898a8 Untabify Objects/longobject.c. 2016-08-21 10:33:36 +01:00
Mark Dickinson dc590a4cc3 Issue #25604: Fix minor bug in integer true division, which could
have caused off-by-one-ulp results on certain platforms.
2016-08-21 10:23:23 +01:00
Mark Dickinson 164a3c822d Issue #27662: add missing Misc/NEWS entry. 2016-08-21 09:31:44 +01:00