Commit Graph

98073 Commits

Author SHA1 Message Date
Victor Stinner 7e42541d08 Use _PyObject_CallMethodIdObjArgs()
Issue #28915: Replace _PyObject_CallMethodId() with
_PyObject_CallMethodIdObjArgs() when the format string only use the format 'O'
for objects, like "(O)".

_PyObject_CallMethodIdObjArgs() avoids the code to parse a format string and
avoids the creation of a temporary tuple.
2016-12-09 00:36:19 +01:00
Victor Stinner 4c38154a43 Don't parenthesis in _PyObject_CallMethodId() format
Issue #28915: Without parenthesis, _PyObject_CallMethodId() avoids the creation
a temporary tuple, and so is more efficient.
2016-12-09 00:33:39 +01:00
Victor Stinner ef7def94c7 _PyObject_CallFunctionVa() uses fast call
Issue #28915: Use _Py_VaBuildStack() to build a C array of PyObject* and then
use _PyObject_FastCall().

The function has a special case if the stack only contains one parameter and
the parameter is a tuple: "unpack" the tuple of arguments in this case.
2016-12-09 00:31:47 +01:00
Victor Stinner e9abde4642 Add _Py_VaBuildStack() function
Issue #28915: Similar to Py_VaBuildValue(), but work on a C array of PyObject*,
instead of creating a tuple.
2016-12-09 00:29:49 +01:00
Victor Stinner b551b6c9f0 modsupport: replace int with Py_ssize_t
Issue #28915: Py_ssize_t type is better for indexes. The compiler might emit
more efficient code for i++. Py_ssize_t is the type of a PyTuple index for
example.

Replace also "int endchar" with "char endchar".
2016-12-09 00:27:22 +01:00
Victor Stinner e9aae2dcc5 modsupport: replace int with Py_ssize_t
Issue #28915.
2016-12-09 00:24:47 +01:00
Victor Stinner e83aab12b0 Add _PyObject_CallFunctionVa() helper
Issue #28915: Add _PyObject_CallFunctionVa() helper to factorize code of
functions:

* PyObject_CallFunction()
* _PyObject_CallFunction_SizeT()
* callmethod()
2016-12-09 00:22:56 +01:00
Victor Stinner 3bb711998d Add _PyObject_FastCallVa() helper
Issue #28915: Add _PyObject_FastCallVa() helper to factorize code of functions:

* PyObject_CallFunctionObjArgs()
* PyObject_CallMethodObjArgs()
* _PyObject_CallMethodIdObjArgs()

Inline objargs_mkstack() into _PyObject_FastCallVa(), remove
objargs_mkstack().
2016-12-09 00:21:55 +01:00
Steve Dower 3b3a7c01bc Issue #28896: Deprecate WindowsRegistryFinder 2016-12-08 09:01:39 -08:00
Victor Stinner 808e47ee0c Null merge 3.6 2016-12-08 17:17:17 +01:00
Xavier de Gaye f434111332 Issue #26941: Merge 3.6. 2016-12-08 12:21:53 +01:00
Xavier de Gaye cb9ab0f50b Issue #26941: Fix test_threading that hangs on the Android armv7 qemu emulator. 2016-12-08 12:21:00 +01:00
Xavier de Gaye cd35959bfc Issue #26940: Merge 3.6. 2016-12-08 11:27:27 +01:00
Xavier de Gaye f79606debd Issue #26940: Fix test_importlib that hangs on the Android armv7 qemu emulator. 2016-12-08 11:26:18 +01:00
Xavier de Gaye 566ba3defd Issue #26939: Merge 3.6. 2016-12-08 11:09:54 +01:00
Xavier de Gaye 7522ef402c Issue #26939: Add the support.setswitchinterval() function to fix
test_functools hanging on the Android armv7 qemu emulator.
2016-12-08 11:06:56 +01:00
Benjamin Peterson 4ebcdac556 merge 3.6 (#28898) 2016-12-07 23:55:03 -08:00
Benjamin Peterson 0d5742dec0 guard HAVE_LONG_LONG definition to prevent redefinition (#28898) 2016-12-07 23:54:28 -08:00
Ned Deily 864a78ed72 Issue #28900: Update documentation sidebar for 3.6.0rc. 2016-12-07 23:38:30 -05:00
Ned Deily 098f85bb7d Issue #28900: Update documentation sidebar for 3.6.0rc. 2016-12-07 23:37:12 -05:00
Ned Deily 932d40abf7 Issue #28900: Update documentation sidebar for 3.6.0rc. 2016-12-07 23:34:49 -05:00
Yury Selivanov ee19ab5962 Merge 3.6 (issue #28635) 2016-12-07 16:20:10 -08:00
Yury Selivanov eb58936b64 Issue #28635: Drop the note that whatsnew is incomplete 2016-12-07 16:19:56 -08:00
Steve Dower 5dc1fb3eda Issue #28896: Deprecate WindowsRegistryFinder
(grafted from 25df9671663b5f8b1560d58d8842f9676f6dffc2)
2016-12-07 13:02:27 -08:00
Benjamin Peterson b5e688a8ff guard HAVE_LONG_LONG definition to prevent redefinition (#28898)
(grafted from 4745d801cae2d57e3432313acd0b76b8b4cc9c75)
2016-12-07 23:54:28 -08:00
Ned Deily 446e606bfe Issue #28900: Update documentation sidebar for 3.6.0rc. 2016-12-07 23:37:12 -05:00
Yury Selivanov 267862f9ca Issue #28635: Drop the note that whatsnew is incomplete
(grafted from d12bc674b74eee73365e38fad1f170ed3349bd59)
2016-12-07 16:19:56 -08:00
Steve Dower 20367420c8 Issue #28896: Deprecate WindowsRegistryFinder 2016-12-07 13:02:27 -08:00
INADA Naoki ba6097734d Issue #28818: Simplify lookdict functions 2016-12-07 20:41:42 +09:00
Serhiy Storchaka d7d266c113 Merge from 3.6. 2016-12-07 13:32:09 +02:00
Serhiy Storchaka 427f10b442 Merge from 3.5. 2016-12-07 13:31:47 +02:00
Serhiy Storchaka 606ab86c0e Change order of io.UnsupportedOperation base classes.
This makes tests passing after changes by issue #5322.
2016-12-07 13:31:20 +02:00
INADA Naoki 09e4a695d1 null merge from 3.6 2016-12-07 18:38:15 +09:00
INADA Naoki 2c5a830f2a Issue #28731: Optimize _PyDict_NewPresized() to create correct size dict.
Improve speed of dict literal with constant keys up to 30%.
2016-12-07 18:34:44 +09:00
Serhiy Storchaka 1b58d8aafa Issue #5322: Fixed setting __new__ to a PyCFunction inside Python code.
Original patch by Andreas Stührk.
2016-12-07 11:27:55 +02:00
Serhiy Storchaka 0c78634d78 Issue #5322: Fixed setting __new__ to a PyCFunction inside Python code.
Original patch by Andreas Stührk.
2016-12-07 11:26:49 +02:00
Serhiy Storchaka 4fc7942118 Issue #28847: A deprecation warning is now emitted if the index file is missed
and recreated in the 'r' and 'w' modes (will be an error in future Python
releases).
2016-12-07 11:11:12 +02:00
Serhiy Storchaka 43153e4d49 Issue #28847: dbm.dumb now supports reading read-only files and no longer
writes the index file when it is not changed.
2016-12-07 11:02:18 +02:00
Serhiy Storchaka 520348e5c0 Issue #28847: dbm.dumb now supports reading read-only files and no longer
writes the index file when it is not changed.
2016-12-07 11:00:06 +02:00
Serhiy Storchaka 028ace1ccb Issue #28847: dbm.dumb now supports reading read-only files and no longer
writes the index file when it is not changed.
2016-12-07 10:56:39 +02:00
Ned Deily c29ba8b489 null merge from 3.6 2016-12-07 02:02:48 -05:00
Ned Deily 3ca43ed956 Prepare for 3.6.1. Any further 3.6.0 release candidates and 3.6.0 final will be cherrypicked and merged here. 2016-12-07 01:59:27 -05:00
Ned Deily ec415dd88c merge tag from 3.6 2016-12-06 19:07:19 -05:00
Ned Deily 5dd9ca9c31 Added tag v3.6.0rc1 for changeset 29a273eee9a5 2016-12-06 19:04:14 -05:00
Ned Deily ad2c2d380e Version bump for 3.6.0rc1 2016-12-06 19:02:30 -05:00
Ned Deily d3f39d31c8 Update pydoc topics for 3.6.0rc1 2016-12-06 18:53:16 -05:00
Victor Stinner f2d568ff95 _PyObject_FastCallKeywords() now calls directly tp_call
_PyObject_FastCallKeywords() doesn't call _PyObject_FastCallDict() anymore:
call directly tp_call.
2016-12-07 00:37:38 +01:00
Ned Deily eae4357871 Regenerate configure with autoconf 2.69. 2016-12-06 17:33:19 -05:00
Ned Deily 8bb38a79b8 Regenerate configure with autoconf 2.69. 2016-12-06 17:31:32 -05:00
Ned Deily 741240e8f8 Issue #28835: merge from 3.6 2016-12-06 17:13:58 -05:00