Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add _PY_FASTCALL_SMALL_STACK constant | Victor Stinner | 2016-12-15 | 1 | -1/+1 |
| | | | | | | | | | 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. | ||||
* | Use _PyObject_CallNoArg() | Victor Stinner | 2016-12-06 | 1 | -1/+1 |
| | | | | | | | Replace: PyObject_CallFunctionObjArgs(callable, NULL) with: _PyObject_CallNoArg(callable) | ||||
* | Merge #23722 from 3.6 | Nick Coghlan | 2016-12-05 | 1 | -5/+35 |
|\ | |||||
| * | Issue #23722: improve __classcell__ compatibility | Nick Coghlan | 2016-12-05 | 1 | -5/+35 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Handling zero-argument super() in __init_subclass__ and __set_name__ involved moving __class__ initialisation to type.__new__. This requires cooperation from custom metaclasses to ensure that the new __classcell__ entry is passed along appropriately. The initial implementation of that change resulted in abruptly broken zero-argument super() support in metaclasses that didn't adhere to the new requirements (such as Django's metaclass for Model definitions). The updated approach adopted here instead emits a deprecation warning for those cases, and makes them work the same way they did in Python 3.5. This patch also improves the related class machinery documentation to cover these details and to include more reader-friendly cross-references and index entries. | ||||
* | | Backed out changeset b9c9691c72c5 | Victor Stinner | 2016-12-04 | 1 | -4/+4 |
| | | | | | | | | | | | | Issue #28858: The change b9c9691c72c5 introduced a regression. It seems like _PyObject_CallArg1() uses more stack memory than PyObject_CallFunctionObjArgs(). | ||||
* | | Replace PyObject_CallFunctionObjArgs() with fastcall | Victor Stinner | 2016-12-01 | 1 | -4/+4 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | * PyObject_CallFunctionObjArgs(func, NULL) => _PyObject_CallNoArg(func) * PyObject_CallFunctionObjArgs(func, arg, NULL) => _PyObject_CallArg1(func, arg) PyObject_CallFunctionObjArgs() allocates 40 bytes on the C stack and requires extra work to "parse" C arguments to build a C array of PyObject*. _PyObject_CallNoArg() and _PyObject_CallArg1() are simpler and don't allocate memory on the C stack. This change is part of the fastcall project. The change on listsort() is related to the issue #23507. | ||||
* | | Added the const qualifier to char* variables that refer to readonly internal | Serhiy Storchaka | 2016-11-20 | 1 | -2/+2 |
|/ | | | | UTF-8 represenatation of Unicode objects. | ||||
* | Replaced outdated macros _PyUnicode_AsString and _PyUnicode_AsStringAndSize | Serhiy Storchaka | 2016-11-20 | 1 | -4/+4 |
| | | | | with PyUnicode_AsUTF8 and PyUnicode_AsUTF8AndSize. | ||||
* | Issue #23722: Initialize __class__ from type.__new__() | Nick Coghlan | 2016-09-11 | 1 | -6/+4 |
| | | | | | | | | | The __class__ cell used by zero-argument super() is now initialized from type.__new__ rather than __build_class__, so class methods relying on that will now work correctly when called from metaclass methods during class creation. Patch by Martin Teichmann. | ||||
* | Issue #24254: Drop cls.__definition_order__. | Eric Snow | 2016-09-08 | 1 | -1/+1 |
| | |||||
* | Issue #27781: Change file system encoding on Windows to UTF-8 (PEP 529) | Steve Dower | 2016-09-08 | 1 | -3/+5 |
| | |||||
* | Avoid calling functions with an empty string as format string | Victor Stinner | 2016-09-05 | 1 | -6/+6 |
| | | | | Directly pass NULL rather than an empty string. | ||||
* | Issue #24254: Preserve class attribute definition order. | Eric Snow | 2016-09-05 | 1 | -1/+1 |
| | |||||
* | Merge | Raymond Hettinger | 2016-09-03 | 1 | -1/+1 |
|\ | |||||
| * | Issue 27936: Fix inconsistent round() behavior between float and int | Raymond Hettinger | 2016-09-03 | 1 | -1/+1 |
| | | |||||
* | | Merge | Raymond Hettinger | 2016-08-25 | 1 | -2/+2 |
|\ \ | |/ | |||||
| * | Issue 19504: Change "customise" to "customize" American spelling. | Raymond Hettinger | 2016-08-25 | 1 | -2/+2 |
| | | |||||
* | | Use Py_ssize_t type for number of arguments | Victor Stinner | 2016-08-25 | 1 | -1/+1 |
| | | | | | | | | | | Issue #27848: use Py_ssize_t rather than C int for the number of function positional and keyword arguments. | ||||
* | | Issue #27809: map_next() uses fast call | Victor Stinner | 2016-08-24 | 1 | -15/+31 |
| | | | | | | | | | | Use a small stack allocated in the C stack for up to 5 iterator functions, otherwise allocates a stack on the heap memory. | ||||
* | | Backed out changeset 70f88b097f60 (map_next) | Victor Stinner | 2016-08-24 | 1 | -31/+15 |
| | | |||||
* | | Issue #27809: map_next() uses fast call | Victor Stinner | 2016-08-23 | 1 | -15/+31 |
| | | | | | | | | | | Use a small stack allocated in the C stack for up to 5 iterator functions, otherwise allocates a stack on the heap memory. | ||||
* | | Issue #27809: builtin___build_class__() uses fast call | Victor Stinner | 2016-08-23 | 1 | -6/+2 |
| | | |||||
* | | Issue #27809: Use _PyObject_FastCallDict() | Victor Stinner | 2016-08-22 | 1 | -10/+2 |
| | | | | | | | | | | | | | | | | | | Modify: * init_subclass() * builtin___build_class__() Fix also a bug in init_subclass(): check for super() failure. | ||||
* | | Issue #27809: Use _PyObject_FastCallDict() | Victor Stinner | 2016-08-22 | 1 | -10/+5 |
| | | | | | | | | | | | | | | | | | | Modify: * builtin_sorted() * classmethoddescr_call() * methoddescr_call() * wrapperdescr_call() | ||||
* | | - Issue #27332: Fixed the type of the first argument of module-level functions | Serhiy Storchaka | 2016-07-07 | 1 | -59/+58 |
|\ \ | |/ | | | | | generated by Argument Clinic. Patch by Petr Viktorin. | ||||
| * | Issue #27332: Fixed the type of the first argument of module-level functions | Serhiy Storchaka | 2016-07-07 | 1 | -59/+58 |
| | | | | | | | | generated by Argument Clinic. Patch by Petr Viktorin. | ||||
* | | Issue #27342: Replaced some Py_XDECREFs with Py_DECREFs. | Serhiy Storchaka | 2016-06-18 | 1 | -2/+2 |
| | | | | | | | | Patch by Xiang Zhang. | ||||
* | | Restored parameter name "self" since gdb needs exact specific parameter names. | Serhiy Storchaka | 2016-05-05 | 1 | -2/+3 |
| | | |||||
* | | Got rid of redundand "self" parameter declarations. | Serhiy Storchaka | 2016-05-02 | 1 | -3/+2 |
| | | | | | | | | Argument Clinic is now able to infer all needed information. | ||||
* | | Regenerate Argument Clinic code for issue #26874. | Serhiy Storchaka | 2016-05-01 | 1 | -1/+1 |
|\ \ | |/ | |||||
| * | Regenerate Argument Clinic code for issue #26874. | Serhiy Storchaka | 2016-05-01 | 1 | -1/+1 |
| | | |||||
* | | Closes #26874: Merge with 3.5 | Zachary Ware | 2016-04-28 | 1 | -1/+1 |
|\ \ | |/ | |||||
| * | Issue #26874: Simplify the divmod docstring | Zachary Ware | 2016-04-28 | 1 | -1/+1 |
| | | |||||
* | | Closes #26874: Merge with 3.5 | Zachary Ware | 2016-04-28 | 1 | -1/+1 |
|\ \ | |/ | |||||
| * | Issue #26874: Fix divmod docstring | Zachary Ware | 2016-04-28 | 1 | -1/+1 |
| | | |||||
* | | Issue #26057: Got rid of nonneeded use of PyUnicode_FromObject(). | Serhiy Storchaka | 2016-04-13 | 1 | -3/+2 |
| | | |||||
* | | Issue #24802: Merge null termination fixes from 3.5 | Martin Panter | 2015-11-07 | 1 | -16/+32 |
|\ \ | |/ | |||||
| * | Issue #24802: Merge null termination fixes from 3.4 into 3.5 | Martin Panter | 2015-11-07 | 1 | -16/+32 |
| |\ | |||||
| | * | Issue #24802: Copy bytes-like objects to null-terminated buffers if necessary | Martin Panter | 2015-11-07 | 1 | -16/+32 |
| | | | | | | | | | | | | | | | | | | | | | | | | This avoids possible buffer overreads when int(), float(), compile(), exec() and eval() are passed bytes-like objects. Similar code is removed from the complex() constructor, where it was not reachable. Patch by John Leitch, Serhiy Storchaka and Martin Panter. | ||||
* | | | Issue #24402: Merge input() fix from 3.5 | Martin Panter | 2015-10-10 | 1 | -1/+3 |
|\ \ \ | |/ / | |||||
| * | | Issue #24402: Merge input() fix from 3.4 into 3.5 | Martin Panter | 2015-10-10 | 1 | -1/+3 |
| |\ \ | | |/ | |||||
| | * | Issue #24402: Fix input() when stdout.fileno() fails; diagnosed by Eryksun | Martin Panter | 2015-10-10 | 1 | -1/+3 |
| | | | | | | | | | | | | Also factored out some test cases into a new PtyTests class. | ||||
* | | | Hoist constant expression out of the inner loop. | Raymond Hettinger | 2015-10-09 | 1 | -3/+3 |
| | | | |||||
* | | | Make comparison more consistent | Raymond Hettinger | 2015-10-09 | 1 | -1/+1 |
| | | | |||||
* | | | Use PyTuple_GET_SIZE like the adjacent code does. | Raymond Hettinger | 2015-08-18 | 1 | -1/+1 |
| | | | |||||
* | | | Inline PyIter_Next() matching the other itertools code. | Raymond Hettinger | 2015-08-18 | 1 | -1/+2 |
|/ / | |||||
* | | Specify default values of semantic booleans in Argument Clinic generated ↵ | Serhiy Storchaka | 2015-05-30 | 1 | -4/+4 |
| | | | | | | | | signatures as booleans. | ||||
* | | Use converter names instead of format units in Argument Clinic descriptions | Serhiy Storchaka | 2015-05-30 | 1 | -72/+72 |
| | | | | | | | | in builtin and _crypt modules. | ||||
* | | Issue #23944: Argument Clinic now wraps long impl prototypes at column 78. | Larry Hastings | 2015-04-14 | 1 | -14/+22 |
| | | |||||
* | | Issue #23501: Argumen Clinic now generates code into separate files by default. | Serhiy Storchaka | 2015-04-03 | 1 | -684/+31 |
| | |