| Commit message (Collapse) | Author | Age | Files | Lines |
| |\ |
|
| | |\ |
|
| | | | |
|
| | | | |
|
| |\ \ \
| |/ /
| | |
| | | |
WeakValueDictionary when collecting from another thread.
|
| | |\ \
| | |/
| | |
| | | |
WeakValueDictionary when collecting from another thread.
|
| | | |
| | |
| | |
| | | |
WeakValueDictionary when collecting from another thread.
|
| | | |
| | |
| | |
| | | |
Calling function is up to 5% faster.
|
| |\ \ \
| |/ / |
|
| | |\ \
| | |/ |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
setattr() must not convert combined table into split table.
|
| | | | |
|
| | | |
| | |
| | |
| | | |
whitespace, not only spaces. Patch by Robert Xiao.
|
| |\ \ \
| |/ /
| | |
| | | |
form.
|
| | |\ \
| | |/
| | |
| | | |
form.
|
| | | |
| | |
| | |
| | | |
form.
|
| | | |
| | |
| | |
| | | |
collections.namedtuple() now supports tuples with more than 255 elements.
|
| | | |
| | |
| | |
| | | |
dict.
|
| |\ \ \
| |/ / |
|
| | | |
| | |
| | |
| | |
| | | |
to/from UTF-8, instead of the locale encoding to avoid inconsistencies with
os.fsencode() and os.fsdecode() which are already using UTF-8.
|
| |\ \ \
| |/ / |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Issue #28147: Fix a memory leak in split-table dictionaries: setattr() must not
convert combined table into split table.
Patch written by INADA Naoki.
|
| | | |
| | |
| | |
| | | |
Issue #27810.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
| | |
| | |
| | |
| | | |
Issue #28915. Oops, I disabled the small stack to test both code paths. It's
now fixed.
|
| |\ \ \
| |/ / |
|
| | |\ \
| | |/ |
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
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).
|
| |\ \ \
| |/ / |
|
| | | | |
|
| | | |
| | |
| | |
| | | |
Improve speed of dict literal with constant keys up to 30%.
|
| | | |
| | |
| | |
| | | |
The change broke test_gdb.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
The PEP 523 modified PyEval_EvalFrameEx(): it's now an indirection to
interp->eval_frame().
Inline the call in performance critical code. Leave PyEval_EvalFrame()
unchanged, this function is only kept for backward compatibility.
|
| | | |
| | |
| | |
| | | |
Don't initialize variables which are not used before they are assigned.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Issue #28915: Replace PyObject_CallFunction() with
PyObject_CallFunctionObjArgs() when the format string was only made of "O"
formats, PyObject* arguments.
PyObject_CallFunctionObjArgs() avoids the creation of a temporary tuple and
doesn't have to parse a format string.
|
| | | |
| | |
| | |
| | |
| | | |
Issue #28915: Replace Py_VaBuildValue()+PyObject_Call() with
_PyObject_FastCallVa() to avoid the creation of temporary tuple.
|
| | | |
| | |
| | |
| | |
| | | |
Issue #28915: Similar to _PyObject_CallFunctionObjArgs() but use va_list to
pass arguments.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Issue #28915: Add _PyObject_CallFunctionVa() helper to factorize code of
functions:
* PyObject_CallFunction()
* _PyObject_CallFunction_SizeT()
* callmethod()
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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().
|
| | | | |
|
| |\ \ \
| |/ /
| | |
| | | |
Original patch by Andreas Stührk.
|
| | |\ \
| | |/
| | |
| | | |
Original patch by Andreas Stührk.
|
| | | |
| | |
| | |
| | | |
Original patch by Andreas Stührk.
|
| | | |
| | |
| | |
| | |
| | | |
_PyObject_FastCallKeywords() doesn't call _PyObject_FastCallDict() anymore:
call directly tp_call.
|
| | | | |
|
| | | |
| | |
| | |
| | |
| | |
| | |
| | | |
Replace:
PyObject_CallFunctionObjArgs(callable, NULL)
with:
_PyObject_CallNoArg(callable)
|