| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|\ |
|
| | |
|
|\ \
| |/ |
|
| | |
|
|\ \
| |/ |
|
| | |
|
|\ \
| |/ |
|
| | |
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| | |
bootstrap files:
Could not find platform dependent libraries <exec_prefix
Consider setting $PYTHONHOME to <prefix>[:<exec_prefix>]
Patch by Xiang Zhang
|
| |
| |
| |
| | |
Issue #26823.
|
| |
| |
| |
| | |
Handle PyTuple_New(0) failure.
|
| |
| |
| |
| | |
Issue #27128.
|
| |
| |
| |
| | |
Issue #27128.
|
| |
| |
| |
| | |
Issue #27128.
|
| |
| |
| |
| | |
Issue #27128.
|
| |
| |
| |
| | |
Issue #27128.
|
| |
| |
| |
| |
| | |
Issue #27128: import_name() now calls _PyObject_FastCall() to avoid the
creation of a temporary tuple.
|
| |
| |
| |
| |
| | |
Issue #27128: PyFile_WriteObject() now calls _PyObject_FastCall() to avoid the
creation of a temporary tuple.
|
| |
| |
| |
| | |
Use _PyObject_FastCall() to avoid the creation of temporary tuple.
|
| |
| |
| |
| |
| | |
Issue #27128: keyobject_richcompare() now calls _PyObject_FastCall() using a
small stack allocated on the C stack to avoid a temporary tuple.
|
| |
| |
| |
| |
| |
| |
| | |
Issue #27128: calliter_iternext() now calls _PyObject_FastCall() to avoid a
temporary empty tuple.
Cleanup also the code to reduce the indentation level.
|
| |
| |
| |
| |
| | |
Issue #27128: slot_tp_iter() now calls _PyObject_FastCall() to avoid a
temporary empty tuple.
|
| |
| |
| |
| |
| | |
Issue #27128: slot_nb_bool() now calls _PyObject_FastCall() to avoid a
temporary empty tuple to call the slot function.
|
| |
| |
| |
| | |
Use an error label to reduce the level of indentation.
|
| |
| |
| |
| |
| | |
slot_sq_item() now calls _PyObject_FastCall() to avoid the creation of a
temporary tuple of 1 item to pass the 'item' argument to the slot function.
|
| |
| |
| |
| |
| |
| |
| | |
* Invert condition of test to avoid levels of indentation
* Remove useless Py_XDECREF(args) in the error block
* Replace Py_XDECREF(func) with Py_DECREF(func) in the error block: func cannot
be NULL when reaching the error block
|
| |
| |
| |
| |
| |
| | |
Issue #27128. The call_method() and call_maybe() functions of typeobject.c now
use fast call for empty format string to avoid the creation of a temporary
empty tuple.
|
| |
| |
| |
| | |
Issue #27128. Move va_start/va_end around Py_VaBuildValue().
|
|\ \
| |/ |
|
| |
| |
| |
| |
| | |
Issue #27128. Fix a reference leak if creating the tuple to pass positional
parameters fails.
|
| | |
|
|\ \
| |/ |
|
| |
| |
| |
| |
| | |
Issue #27128. Fix a reference leak if creating the tuple to pass positional
parameters fails.
|
| |
| |
| |
| |
| | |
Issue #27128. Modify slot_sq_contains() and slot_tp_richcompare() to use fast
call to avoid a temporary tuple to pass a single positional parameter.
|
| |
| |
| |
| |
| |
| | |
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).
|