| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| | | |
| | | |
| | | |
| | | | |
Issue #27128.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Issue #27128: import_name() now calls _PyObject_FastCall() to avoid the
creation of a temporary tuple.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Issue #27128: arg=>args, kw=>kwargs.
Same change for PyEval_CallObjectWithKeywords().
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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
|
|\ \ \ \
| |/ / / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
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.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
enabled: ensure code object has a valid first line number.
Patch suggested by Ivan Levkivskyi.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Issue #27128, #18295: replace int type with Py_ssize_t for index variables used
for positional arguments. It should help to avoid integer overflow and help to
emit better machine code for "i++" (no trap needed for overflow).
Make also the total_args variable constant.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Add comments
* Add empty lines for readability
* PEP 7 style for if block
* Remove useless assert(globals != NULL); (globals is tested a few lines
before)
|
| | | | |
|
| | | |
| | | |
| | | |
| | | |
| | | | |
Merge dev_urandom_python() and dev_urandom_noraise() functions to reduce code
duplication.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Modify py_getrandom() to not call PyErr_CheckSignals() if raise is zero.
_PyRandom_Init() is called very early in the Python initialization, so it's
safer to not call PyErr_CheckSignals().
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
* Add pyurandom() helper function to factorize the code
* don't call Py_FatalError() in helper functions, but only in _PyRandom_Init()
if pyurandom() failed, to uniformize the code
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Large sections of repeated lines in tracebacks are now abbreviated as
"[Previous line repeated {count} more times]" by both the traceback
module and the builtin traceback rendering.
Patch by Emanuel Barry.
|
| | | |
| | | |
| | | |
| | | | |
implemented with using Argument Clinic.
|
| | | | |
|
|\ \ \ \
| |/ / / |
|
| | | | |
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Based on patch by Roumen Petrov.
|
|\ \ \ \
| |/ / / |
|
| | | | |
|
|\ \ \ \
| |/ / / |
|
| | | | |
|
|\ \ \ \
| |/ / /
| | | |
| | | |
| | | |
| | | | |
or builtins for importing submodules or "from import". Fixed a crash if
raise a warning about unabling to resolve package from __spec__ or
__package__.
|
| | | |
| | | |
| | | |
| | | |
| | | | |
or builtins for importing submodules or "from import". Fixed handling an
error of non-string package name.
|
| | | | |
|
| | | | |
|
|\ \ \ \
| |/ / / |
|
|\ \ \ \
| |/ / / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
(closes #27514)
Patch by Ammar Askar.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Thanks to Oren Milman for the patch.
|
|\ \ \ \
| |/ / /
| | | |
| | | | |
generated by Argument Clinic. Patch by Petr Viktorin.
|
| | | |
| | | |
| | | |
| | | | |
generated by Argument Clinic. Patch by Petr Viktorin.
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
SHOW_ALLOC_COUNT or SHOW_TRACK_COUNT macros is now off by default. It can
be re-enabled using the "-X showalloccount" option. It now outputs to stderr
instead of stdout.
|
| | | |
| | | |
| | | |
| | | | |
the implementation of the IMPORT_NAME opcode.
|
| | | | |
|
| | | |
| | | |
| | | |
| | | | |
Patch by Xiang Zhang.
|
| | | |
| | | |
| | | |
| | | | |
Replace "#if WITH_THREAD" with "#ifdef WITH_THREAD".
|
| | | | |
|
|\ \ \ \
| |/ / / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Issue #27278. It should fix a conversion warning.
In practice, the Linux kernel doesn't return more than 32 MB per call to the
getrandom() syscall.
|
|\ \ \ \
| |/ / / |
|
| | | | |
|
|\ \ \ \
| |/ / / |
|
| | | |
| | | |
| | | |
| | | | |
Casting Py_ssize_t to Py_ssize_t is useless.
|
|\ \ \ \
| |/ / / |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Issue #27278: Fix os.urandom() implementation using getrandom() on Linux.
Truncate size to INT_MAX and loop until we collected enough random bytes,
instead of casting a directly Py_ssize_t to int.
|