Victor Stinner
5a60ecaa7a
sorted() uses METH_FASTCALL
2017-01-17 15:17:49 +01:00
Victor Stinner
fda6d0acf0
next() uses FASTCALL
2017-01-17 04:09:14 +01:00
Victor Stinner
84b388bb80
getattr() uses METH_FASTCALL
2017-01-17 03:52:27 +01:00
Serhiy Storchaka
1741441649
Issue #29029 : Speed up processing positional arguments in
...
PyArg_ParseTupleAndKeywords(), _PyArg_ParseTupleAndKeywordsFast() and like.
2017-01-17 10:07:25 +02:00
Victor Stinner
0c4a828cad
Run Argument Clinic: METH_VARARGS=>METH_FASTCALL
...
Issue #29286 . Run Argument Clinic to get the new faster METH_FASTCALL calling
convention for functions using "boring" positional arguments.
Manually fix _elementtree: _elementtree_XMLParser_doctype() must remain
consistent with the clinic code.
2017-01-17 02:21:47 +01:00
Victor Stinner
fe54dd8a08
Add _PyArg_UnpackStack() function helper
...
Issue #29286 .
2017-01-17 02:33:55 +01:00
Victor Stinner
259f0e4437
Run Argument Clinic: METH_VARARGS=>METH_FASTCALL
...
Issue #29286 . Run Argument Clinic to get the new faster METH_FASTCALL calling
convention for functions using only positional arguments.
2017-01-17 01:35:17 +01:00
Victor Stinner
29d39cc8f5
Add _PyArg_NoStackKeywords() helper function
...
Issue #29286 . Similar to _PyArg_NoKeywords(), but expects a tuple of keyword
names, instead of a dict.
2017-01-17 01:40:01 +01:00
Victor Stinner
6518a93cb1
Add _PyArg_ParseStack() helper function
...
Issue #29286 . Function similar to PyArg_ParseTuple(), but uses a C array of
PyObject* to pass arguments. Don't support the compatibility mode.
2017-01-17 01:29:49 +01:00
Victor Stinner
3e1fad6913
Rename _PyArg_ParseStack to _PyArg_ParseStackAndKeywords
...
Issue #29286 .
2017-01-17 01:29:01 +01:00
Victor Stinner
c0083fc47d
Rename keywords to kwargs in getargs.c
...
Issue #29029 . Patch written by Serhiy Storchaka.
2017-01-17 00:37:42 +01:00
Victor Stinner
80ab22fa2c
Cleanup getargs.c
...
Factorize argument checks in:
* vgetargskeywordsfast()
* vgetargskeywordsfast_impl()
2017-01-16 23:16:47 +01:00
Victor Stinner
773dc6dd06
__build_class__() builtin uses METH_FASTCALL
2017-01-16 23:46:26 +01:00
INADA Naoki
015bce64b3
Issue #26110 : Add document for LOAD_METHOD and CALL_METHOD opcode.
...
Changed stack layout bit for "easy to explain."
2017-01-16 17:23:30 +09:00
Victor Stinner
231d1f3439
_PyEval_EvalCodeWithName(): remove redundant check
...
Replace the runtime check with an assertion (just in case).
2017-01-11 02:12:06 +01:00
Victor Stinner
415c5107be
Inline call_function()
...
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)
2017-01-11 00:54:57 +01:00
Victor Stinner
b27df6faa5
Issue #29157 : enhance py_getrandom() documentation
2017-01-06 11:39:15 +01:00
Victor Stinner
de2f1ea124
py_getentropy() now supports ENOSYS, EPERM & EINTR
...
Issue #29157 .
2017-01-06 11:33:18 +01:00
Victor Stinner
2f7964393d
Issue #29157 : getrandom() is now preferred over getentropy()
...
The glibc now implements getentropy() on Linux using the getrandom() syscall.
But getentropy() doesn't support non-blocking mode.
Since getrandom() is tried first, it's not more needed to explicitly exclude
getentropy() on Solaris. Replace:
if defined(HAVE_GETENTROPY) && !defined(sun)
with
if defined(HAVE_GETENTROPY)
2017-01-06 11:26:01 +01:00
Victor Stinner
a49a2078e8
Issue #29157 : Simplify dev_urandom()
...
pyurandom() is now responsible to call getentropy() or getrandom().
Enhance also dev_urandom() and pyurandom() documentation.
2017-01-06 11:17:52 +01:00
Victor Stinner
dcdb60e4b3
Issue #29157 : dev_urandom() now calls py_getentropy()
...
Prepare the fallback to support getentropy() failure and falls back on reading
from /dev/urandom.
2017-01-06 11:16:20 +01:00
Victor Stinner
865a0f621f
Optimize _PyFunction_FastCallDict() when kwargs is {}
...
Issue #28839 : Optimize _PyFunction_FastCallDict() when kwargs is an empty
dictionary, avoid the creation of an useless empty tuple.
2017-01-03 02:01:42 +01:00
Benjamin Peterson
646bf754e3
merge 3.6 ( #29057 )
2017-01-01 22:30:35 -06:00
Benjamin Peterson
46322587ec
merge 3.5 ( #29057 )
2017-01-01 22:30:26 -06:00
Benjamin Peterson
493ac1bbe0
only include sys/random.h if it seems like it might have something useful ( #29057 )
2017-01-01 22:29:36 -06:00
Benjamin Peterson
6784be1d00
merge 3.6
2017-01-01 22:08:51 -06:00
Benjamin Peterson
5848e72ee1
merge 3.5
2017-01-01 22:08:44 -06:00
Benjamin Peterson
4365833d11
merge 3.4
2017-01-01 22:08:33 -06:00
Benjamin Peterson
b6e2142b0c
merge 3.3
2017-01-01 22:07:37 -06:00
Benjamin Peterson
e527dd34bc
ring in 2017 for Python
2017-01-01 22:04:13 -06:00
INADA Naoki
9c15776fac
Issue #29049 : Remove unnecessary Py_DECREF
2016-12-26 18:52:46 +09:00
INADA Naoki
6a3cedf8dd
Issue #29049 : Fix refleak introduced by f5eb0c4f5d37.
2016-12-26 18:01:46 +09:00
INADA Naoki
5a625d0aa6
Issue #29049 : Call _PyObject_GC_TRACK() lazily when calling Python function.
...
Calling function is up to 5% faster.
2016-12-24 20:19:08 +09:00
Benjamin Peterson
38f225dd48
merge 3.6 ( #28932 )
2016-12-19 23:55:24 -08:00
Benjamin Peterson
b0eb986eb2
merge 3.5 ( #28932 )
2016-12-19 23:54:57 -08:00
Benjamin Peterson
fb2ae15c67
add a specific configure check for sys/random.h ( closes #28932 )
2016-12-19 23:54:25 -08:00
Martin Panter
b46edf35f3
Issue #25677 : Merge SyntaxError caret positioning from 3.6
2016-12-19 06:46:12 +00:00
Martin Panter
619555d77b
Issue #25677 : Merge SyntaxError caret positioning from 3.5
2016-12-19 06:46:01 +00:00
Serhiy Storchaka
5bb8b9134b
Issue #18896 : Python function can now have more than 255 parameters.
...
collections.namedtuple() now supports tuples with more than 255 elements.
2016-12-16 19:19:02 +02:00
Serhiy Storchaka
5ab81d787f
Issue #28959 : Added private macro PyDict_GET_SIZE for retrieving the size of dict.
2016-12-16 16:18:57 +02:00
Xavier de Gaye
31eaf49ed9
Merge 3.6.
2016-12-15 21:01:52 +01:00
Xavier de Gaye
76febd0792
Issue #26919 : On Android, operating system data is now always encoded/decoded
...
to/from UTF-8, instead of the locale encoding to avoid inconsistencies with
os.fsencode() and os.fsdecode() which are already using UTF-8.
2016-12-15 20:59:58 +01:00
Victor Stinner
bc08ab4598
Add _PY_FASTCALL_SMALL_STACK constant
...
Issue #28870 : Add a new _PY_FASTCALL_SMALL_STACK constant, size of "small
stacks" allocated on the C stack to pass positional arguments to
_PyObject_FastCall().
_PyObject_Call_Prepend() now uses a small stack of 5 arguments (40 bytes)
instead of 8 (64 bytes), since it is modified to use _PY_FASTCALL_SMALL_STACK.
2016-12-15 12:40:53 +01:00
Yury Selivanov
f2392133eb
Issue #26110 : Add LOAD_METHOD/CALL_METHOD opcodes.
...
Special thanks to INADA Naoki for pushing the patch through
the last mile, Serhiy Storchaka for reviewing the code, and to
Victor Stinner for suggesting the idea (originally implemented
in the PyPy project).
2016-12-13 19:03:51 -05:00
Steve Dower
21e033466b
Issue #28896 : Disable WindowsRegistryFinder by default.
2016-12-12 11:19:03 -08:00
Steve Dower
10beb3cfef
Issue #28896 : Disable WindowsRegistryFinder by default.
2016-12-12 11:17:59 -08:00
Serhiy Storchaka
0f6373c34f
Issue #28739 : f-string expressions no longer accepted as docstrings and
...
by ast.literal_eval() even if they do not include subexpressions.
2016-12-11 19:39:36 +02:00
Serhiy Storchaka
4cc30ae313
Issue #28739 : f-string expressions no longer accepted as docstrings and
...
by ast.literal_eval() even if they do not include subexpressions.
2016-12-11 19:37:19 +02:00
Serhiy Storchaka
26817a8490
Issue #28512 : Fixed setting the offset attribute of SyntaxError by
...
PyErr_SyntaxLocationEx() and PyErr_SyntaxLocationObject().
2016-12-11 14:44:21 +02:00
Serhiy Storchaka
8114f21668
Issue #28512 : Fixed setting the offset attribute of SyntaxError by
...
PyErr_SyntaxLocationEx() and PyErr_SyntaxLocationObject().
2016-12-11 14:43:18 +02:00