| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
| |
Issue #27128: arg=>args, kw=>kwargs.
Same change for PyEval_CallObjectWithKeywords().
|
|
|
|
|
|
| |
Issue #27128, PyObject_CallFunction(), _PyObject_FastCall() and callmethod():
if the format string of parameters is empty, avoid the creation of an empty
tuple: call _PyObject_FastCall() without parameters.
|
|
|
|
| |
Issue #27128.
|
|
|
|
|
|
|
| |
Make callmethod() less weird: don't decrement func reference counter,
the caller is now responsible to do that.
Issue #27128.
|
|
|
|
|
|
|
|
| |
Make call_function_tail() less weird: don't decrement args reference counter,
the caller is now responsible to do that. The caller now also checks if args is
NULL.
Issue #27128.
|
|
|
|
|
|
|
|
|
|
|
| |
Issue #27128: Modify call_function_tail() to use _PyObject_FastCall() when args
is not a tuple to avoid the creation of a temporary tuple.
call_function_tail() is used by:
* PyObject_CallFunction()
* PyObject_CallMethod()
* _PyObject_CallMethodId()
|
|
|
|
|
|
| |
Issue #27128: Modify PyEval_CallObjectWithKeywords() to use
_PyObject_FastCall() when args==NULL and kw==NULL. It avoids the creation of a
temporary empty tuple for positional arguments.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Issue #27128: Add _PyObject_FastCall(), a new calling convention avoiding a
temporary tuple to pass positional parameters in most cases, but create a
temporary tuple if needed (ex: for the tp_call slot).
The API is prepared to support keyword parameters, but the full implementation
will come later (_PyFunction_FastCall() doesn't support keyword parameters
yet).
Add also:
* _PyStack_AsTuple() helper function: convert a "stack" of parameters to
a tuple.
* _PyCFunction_FastCall(): fast call implementation for C functions
* _PyFunction_FastCall(): fast call implementation for Python functions
|
|\ |
|
| |
| |
| |
| | |
available
|
| |
| |
| |
| |
| | |
Clang is smarter than GCC and emits a warning for dead code after a function
declared with __attribute__((__noreturn__)) (Py_FatalError).
|
| |
| |
| |
| |
| |
| | |
PyModule_NewObject already sets md_dict to PyDict_New():
m->md_dict = PyDict_New();
|
|\ \
| |/ |
|
| | |
|
| |
| |
| |
| | |
Patch by Eryk Sun and Emanuel Barry.
|
|\ \
| |/
| |
| | |
Also moved news item for #2466 to the correct place.
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| |
| | |
Patch by Robin Roth, reviewed by Serhiy Storchaka, comment wording
tweaked by me.
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
- Issue #25958: Support "anti-registration" of special methods from
various ABCs, like __hash__, __iter__ or __len__. All these (and
several more) can be set to None in an implementation class and the
behavior will be as if the method is not defined at all.
(Previously, this mechanism existed only for __hash__, to make
mutable classes unhashable.) Code contributed by Andrew Barnert and
Ivan Levkivskyi.
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
Issue #27558: Fix a SystemError in the implementation of "raise" statement.
In a brand new thread, raise a RuntimeError since there is no active
exception to reraise.
Patch written by Xiang Zhang.
|
| | |
|
| |
| |
| |
| |
| | |
Does not appear to be a problem anymore and I cannot figure
out why it was skipped in the first place.
|
| |
| |
| |
| |
| | |
enabled: ensure code object has a valid first line number.
Patch suggested by Ivan Levkivskyi.
|
| |
| |
| |
| |
| | |
The z variable is known to be a fresh number which cannot be shared, Py_SIZE()
can be used directly to negate the number.
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| |
| | |
sys.version[0] gives a string, which fails > comparison with 2.
Reported by Arne Maximilian Richter on docs@
|
| |
| |
| |
| |
| |
| |
| | |
It's sometimes hard to check quickly if tests succeeded, failed or something
bad happened. I added a final "Result: xxx" line which summarizes all outputs
into a single line, written at the end (it should always be the last line of
the output).
|
| | |
|
| | |
|
|\ \
| |/ |
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
* Memove -t option of ctags. The option was kept for backward compatibility,
but it was completly removed recently. Patch written by Stéphane Wirtel.
* Set locale to C to call sort. vim expects that the tags file is sorted using
english collation, so it fails if the locale is french for example. Use
LC_ALL=C to force english sorting order. .
|
| |
| |
| |
| |
| |
| | |
vim expects that the tags file is sorted using english collation, so it fails
if the locale is french for example. Use LC_ALL=C to force english sorting
order. Issue #27726.
|
| |
| |
| |
| |
| | |
The option was kept for backward compatibility, but it was completly removed
recently. Patch written by Stéphane Wirtel.
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| | |
If Popen.communicate() raises an exception, kill the child process to not leave
a running child process in background and maybe create a zombi process.
This change fixes a ResourceWarning in Python 3.6 when unit tests are
interrupted by CTRL+c.
|
| |
| |
| |
| | |
Use milliseconds and minutes units, not only seconds.
|
| |
| |
| |
| | |
Display the top 10 slowest tests.
|
| |
| |
| |
| | |
Thanks to optparse, --slow syntax still works ;-)
|
| | |
|
| | |
|
|\ \
| |/ |
|
| |\ |
|
| | |\ |
|