Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | bpo-29865: Use PyXXX_GET_SIZE macros rather than Py_SIZE for concrete types. ↵ | Serhiy Storchaka | 2017-03-21 | 5 | -15/+18 |
| | | | | (#748) | ||||
* | Don't use Py_SIZE for dict object. (#747) | Serhiy Storchaka | 2017-03-21 | 1 | -1/+1 |
| | |||||
* | bpo-28876: bool of large range raises OverflowError (#699) | 4kir4 | 2017-03-20 | 1 | -1/+11 |
| | |||||
* | bpo-29116: Fix error messages for concatenating bytes and bytearray with ↵ | Serhiy Storchaka | 2017-03-19 | 2 | -2/+2 |
| | | | | unsupported type. (#709) | ||||
* | bpo-29116: Improve error message for concatenating str with non-str. (#710) | Serhiy Storchaka | 2017-03-19 | 1 | -1/+10 |
| | |||||
* | bpo-29748: Added the slice index converter in Argument Clinic. (#549) | Serhiy Storchaka | 2017-03-19 | 1 | -3/+3 |
| | |||||
* | bpo-29793: Convert some builtin types constructors to Argument Clinic. (#615) | Serhiy Storchaka | 2017-03-19 | 14 | -202/+527 |
| | |||||
* | bpo-20186: Convert tuple object implementation to Argument Clinic. (#614) | Serhiy Storchaka | 2017-03-19 | 2 | -46/+176 |
| | |||||
* | bpo-20185: Convert typeobject.c to Argument Clinic. (#544) | Serhiy Storchaka | 2017-03-19 | 2 | -76/+391 |
| | | | Based on patch by Vajrasky Kok. | ||||
* | bpo-29735: Optimize partial_call(): avoid tuple (#516) | Victor Stinner | 2017-03-14 | 1 | -0/+16 |
| | | | | | | | | * Add _PyObject_HasFastCall() * partial_call() now avoids temporary tuple to pass positional arguments if the callable supports the FASTCALL calling convention for positional arguments. * Fix also a performance regression in partial_call() if the callable doesn't support FASTCALL. | ||||
* | bpo-28810: Update lnotab_notes.txt (#665) | Ivan Levkivskyi | 2017-03-14 | 1 | -22/+28 |
| | |||||
* | bpo-29548: Recommend PyObject_Call APIs over PyEval_Call APIs. (GH-75) | INADA Naoki | 2017-03-14 | 1 | -33/+24 |
| | | | | | | | | | | | | PyEval_Call* APIs are not documented and they doesn't respect PY_SSIZE_T_CLEAN. So add comment block which recommends PyObject_Call* APIs to ceval.h. This commit also changes PyEval_CallMethod and PyEval_CallFunction implementation same to PyObject_CallMethod and PyObject_CallFunction to reduce future maintenance cost. Optimization to avoid temporary tuple are copied too. PyEval_CallFunction(callable, "i", (int)i) now calls callable(i) instead of raising TypeError. But accepting this edge case is backward compatible. | ||||
* | bpo-28856: Let %b format for bytes support objects that follow the buffer ↵ | Xiang Zhang | 2017-03-14 | 1 | -1/+14 |
| | | | | | | protocol (GH-546) | ||||
* | bpo-29730: replace some calls to PyNumber_Check and improve some error ↵ | Oren Milman | 2017-03-12 | 1 | -15/+19 |
| | | | | messages (#650) | ||||
* | Fix wrapping into StopIteration of return values in generators and ↵ | Yury Selivanov | 2017-03-12 | 1 | -2/+1 |
| | | | | coroutines (#644) | ||||
* | bpo-24037: Add Argument Clinic converter `bool(accept={int})`. (#485) | Serhiy Storchaka | 2017-03-12 | 4 | -8/+8 |
| | |||||
* | bpo-20185: Convert float object implementation to Argument Clinic. (#543) | Serhiy Storchaka | 2017-03-11 | 2 | -156/+499 |
| | | | Based on patch by Vajrasky Kok. | ||||
* | bpo-20185: Convert list object implementation to Argument Clinic. (#542) | Serhiy Storchaka | 2017-03-11 | 2 | -150/+523 |
| | |||||
* | bpo-29749: Update int() docstring (GH-565) | svelankar | 2017-03-09 | 1 | -1/+1 |
| | | | The docstring did not properly represent the fact that the argument to int() was positional-only. | ||||
* | Use Py_RETURN_FALSE/Py_RETURN_TRUE rather than ↵ | Serhiy Storchaka | 2017-03-08 | 1 | -25/+25 |
| | | | | PyBool_FromLong(0)/PyBool_FromLong(1). (#567) | ||||
* | bpo-29568: Disable any characters between two percents for escaped percent ↵ | Serhiy Storchaka | 2017-03-08 | 2 | -17/+18 |
| | | | | "%%" in the format string for classic string formatting. (GH-513) | ||||
* | bpo-24329: allow __qualname__ and __classcell__ in __slots__ (GH-495) | Xiang Zhang | 2017-03-08 | 1 | -5/+11 |
| | |||||
* | bpo-29737: Optimize concatenating with empty tuple. (#524) | Serhiy Storchaka | 2017-03-06 | 1 | -0/+8 |
| | |||||
* | bpo-29695: Remove bad keyword parameters in int(), bool(), float(), list() ↵ | Serhiy Storchaka | 2017-03-06 | 5 | -39/+13 |
| | | | | and tuple(). (#518) | ||||
* | bpo-29714: Fix a regression that bytes format may fail when containing zero ↵ | Xiang Zhang | 2017-03-06 | 1 | -2/+2 |
| | | | | bytes inside. (GH-499) | ||||
* | remove 3 redundant casts in Objects/longobject.c (#445) | orenmn | 2017-03-06 | 1 | -3/+3 |
| | |||||
* | bpo-29695: Deprecated using bad named keyword arguments in builtings: (#486) | Serhiy Storchaka | 2017-03-05 | 5 | -0/+30 |
| | | | | int(), bool(), float(), list() and tuple(). Specify the value as a positional argument instead. | ||||
* | bpo-29683 - Fixes to _PyCode_SetExtra when co_extra->ce->extras is (#376) | Brian Coleman | 2017-03-02 | 1 | -10/+14 |
| | | | | | | | | allocated. On PyMem_Realloc failure, _PyCode_SetExtra should free co_extra if co_extra->ce_extras could not be allocated. On PyMem_Realloc success, _PyCode_SetExtra should set all unused slots in co_extra->ce_extras to NULL. | ||||
* | bpo-29684: Fix regression of PyEval_CallObjectWithKeywords (GH-87) | INADA Naoki | 2017-03-01 | 1 | -6/+7 |
| | | | It should raise TypeError when kwargs is not a dict. | ||||
* | Document why functools.partial() must copy kwargs (#253) | Victor Stinner | 2017-02-23 | 1 | -2/+2 |
| | | | | Add a comment to prevent further attempts to avoid a copy for optimization. | ||||
* | bpo-27660: remove unnecessary overflow checks in list_resize (GH-189) | Xiang Zhang | 2017-02-22 | 1 | -12/+7 |
| | |||||
* | bpo-29509: skip redundant intern (GH-197) | INADA Naoki | 2017-02-21 | 1 | -1/+1 |
| | | | | PyObject_GetAttrString intern temporary key string. It's completely redudant. | ||||
* | bpo-29602: fix signed zero handling in complex constructor. (#203) | Mark Dickinson | 2017-02-20 | 1 | -3/+3 |
| | | | | | | * Fix incorrect handling of signed zeros for complex-related classes. * Add Misc/NEWS entry. | ||||
* | bpo-24274: fix erroneous comment in dictobject.c (GH-196) | INADA Naoki | 2017-02-20 | 1 | -1/+2 |
| | | | | lookdict_unicode() and lookdict_unicode_nodummy() may raise exception when key is not unicode. | ||||
* | bpo-29347: Fix possibly dereferencing undefined pointers when creating ↵ | Xiang Zhang | 2017-02-20 | 1 | -0/+2 |
| | | | | weakref objects (#128) | ||||
* | bpo-29548: Fix some inefficient call API usage (GH-97) | INADA Naoki | 2017-02-16 | 4 | -30/+17 |
| | |||||
* | bpo-29524: Add Objects/call.c file (#12) | Victor Stinner | 2017-02-12 | 3 | -1048/+1368 |
| | | | | | | | | | * Move all functions to call objects in a new Objects/call.c file. * Rename fast_function() to _PyFunction_FastCallKeywords(). * Copy null_error() from Objects/abstract.c * Inline type_error() in call.c to not have to copy it, it was only called once. * Export _PyEval_EvalCodeWithName() since it is now called from call.c. | ||||
* | bpo-29438: fixed use-after-free in key sharing dict (#17) | INADA Naoki | 2017-02-12 | 1 | -3/+7 |
| | |||||
* | Backed out changeset f23fa1f7b68f | Victor Stinner | 2017-02-10 | 3 | -1368/+1048 |
| | | | | | Sorry, I didn't want to push this change before the review :-( I was pushing a change into the 2.7 branch. | ||||
* | Issue #29465: Add Objects/call.c file | Victor Stinner | 2017-02-10 | 3 | -1048/+1368 |
| | | | | | | | | | | * Move all functions to call objects in a new Objects/call.c file. * Rename fast_function() to _PyFunction_FastCallKeywords(). * Copy null_error() from Objects/abstract.c * Inline type_error() in call.c to not have to copy it, it was only called once. * Export _PyEval_EvalCodeWithName() since it is now called from call.c. | ||||
* | Issue #29507: Fix _PyObject_CallFunctionVa() | Victor Stinner | 2017-02-09 | 1 | -2/+4 |
| | | | | is_size_t test was reversed. Bug spotted by INADA Naoki. | ||||
* | Optimize slots: avoid temporary PyMethodObject | Victor Stinner | 2017-02-09 | 2 | -58/+160 |
| | | | | | | | | | | | | | | | | | | Issue #29507: Optimize slots calling Python methods. For Python methods, get the unbound Python function and prepend arguments with self, rather than calling the descriptor which creates a temporary PyMethodObject. Add a new _PyObject_FastCall_Prepend() function used to call the unbound Python method with self. It avoids the creation of a temporary tuple to pass positional arguments. Avoiding temporary PyMethodObject and avoiding temporary tuple makes Python slots up to 1.46x faster. Microbenchmark on a __getitem__() method implemented in Python: Median +- std dev: 121 ns +- 5 ns -> 82.8 ns +- 1.0 ns: 1.46x faster (-31%) Co-Authored-by: INADA Naoki <songofacandy@gmail.com> | ||||
* | Fix PyCFunction_Call() performance issue | Victor Stinner | 2017-02-09 | 1 | -4/+50 |
| | | | | | | | Issue #29259, #29465: PyCFunction_Call() doesn't create anymore a redundant tuple to pass positional arguments for METH_VARARGS. Add a new cfunction_call() subfunction. | ||||
* | Fix refleaks if Py_EnterRecursiveCall() fails | Victor Stinner | 2017-02-08 | 1 | -1/+4 |
| | | | | Issue #29306: Destroy argstuple and kwdict if Py_EnterRecursiveCall() fails. | ||||
* | Issue #29306: Fix usage of Py_EnterRecursiveCall() | Victor Stinner | 2017-02-08 | 2 | -73/+90 |
| | | | | | | | * *PyCFunction_*Call*() functions now call Py_EnterRecursiveCall(). * PyObject_Call() now calls directly _PyFunction_FastCallDict() and PyCFunction_Call() to avoid calling Py_EnterRecursiveCall() twice per function call | ||||
* | Issue #29460: _PyArg_NoKeywords(), _PyArg_NoStackKeywords() and | Serhiy Storchaka | 2017-02-06 | 1 | -3/+2 |
| | | | | _PyArg_NoPositional() now are macros. | ||||
* | Reduce load factor (from 66% to 60%) to improve effectiveness of linear probing. | Raymond Hettinger | 2017-02-04 | 1 | -3/+3 |
| | | | | | | | Decreased density gives better collision statistics (average of 2.5 probes in a full table versus 3.0 previously) and fewer occurences of starting a second possibly overlapping sequence of 10 linear probes. Makes resizes a little more frequent but each with less work (fewer insertions and fewer collisions). | ||||
* | Issue #29311: Regenerate Argument Clinic. | Serhiy Storchaka | 2017-02-04 | 2 | -3/+3 |
| | |||||
* | Issue #29263: LOAD_METHOD support for C methods | INADA Naoki | 2017-02-02 | 3 | -25/+70 |
| | | | | Calling builtin method is at most 10% faster. | ||||
* | Remove unnecessary variables. | Raymond Hettinger | 2017-02-02 | 1 | -5/+2 |
| | | | | | * so->used never gets changed during a resize * so->filled only changes when dummies are present and being eliminated |