Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | bpo-30892: Fix _elementtree module initialization (#2647) | Victor Stinner | 2017-07-10 | 1 | -0/+5 |
| | | | | Handle getattr(copy, 'deepcopy') error in _elementtree module initialization. | ||||
* | bpo-29464: Rename METH_FASTCALL to METH_FASTCALL|METH_KEYWORDS and make (#1955) | Serhiy Storchaka | 2017-07-03 | 1 | -1/+1 |
| | | | | | the bare METH_FASTCALL be used for functions with positional-only parameters. | ||||
* | bpo-30061: Check if PyObject_Size()/PySequence_Size()/PyMapping_Size() (#1096) | Serhiy Storchaka | 2017-04-19 | 1 | -2/+2 |
| | | | | | | raised an error. Replace them with using concrete types API that never fails if appropriate. | ||||
* | Expand the PySlice_GetIndicesEx macro. (#1023) | Serhiy Storchaka | 2017-04-08 | 1 | -6/+6 |
| | |||||
* | bpo-29204: Emit warnings for already deprecated ElementTree features. (#773) | Serhiy Storchaka | 2017-03-30 | 1 | -2/+37 |
| | | | | | | | | Element.getiterator() and the html parameter of XMLParser() were deprecated only in the documentation (since Python 3.2 and 3.4 correspondintly). Now using them emits a deprecation warning. * Don’t need check_warnings any more. | ||||
* | bpo-27863: Fixed multiple crashes in ElementTree. (#765) | Serhiy Storchaka | 2017-03-30 | 1 | -48/+52 |
| | |||||
* | Run Argument Clinic: METH_VARARGS=>METH_FASTCALL | Victor Stinner | 2017-01-17 | 1 | -1/+1 |
| | | | | | | | | Issue #29286. Run Argument Clinic to get the new faster METH_FASTCALL calling convention for functions using "boring" positional arguments. Manually fix _elementtree: _elementtree_XMLParser_doctype() must remain consistent with the clinic code. | ||||
* | Merge from 3.6. | Serhiy Storchaka | 2016-12-21 | 1 | -0/+2 |
|\ | |||||
| * | Merge from 3.5. | Serhiy Storchaka | 2016-12-21 | 1 | -0/+2 |
| |\ | |||||
| | * | Issue #28871: Fixed a crash when deallocate deep ElementTree. | Serhiy Storchaka | 2016-12-21 | 1 | -0/+2 |
| | | | |||||
* | | | Issue #28959: Added private macro PyDict_GET_SIZE for retrieving the size of ↵ | Serhiy Storchaka | 2016-12-16 | 1 | -1/+1 |
| | | | | | | | | | | | | dict. | ||||
* | | | Use PyObject_CallFunctionObjArgs() | Victor Stinner | 2016-12-09 | 1 | -8/+14 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue #28915: Replace PyObject_CallFunction() with PyObject_CallFunctionObjArgs() when the format string was only made of "O" formats, PyObject* arguments. PyObject_CallFunctionObjArgs() avoids the creation of a temporary tuple and doesn't have to parse a format string. | ||||
* | | | Use _PyObject_CallMethodIdObjArgs() in _elementtree | Victor Stinner | 2016-12-09 | 1 | -9/+10 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Issue #28915: Replace _PyObject_CallMethodId() with _PyObject_CallMethodIdObjArgs() when the format string was only made of "O" formats, PyObject* arguments. _PyObject_CallMethodIdObjArgs() avoids the creation of a temporary tuple and doesn't have to parse a format string. | ||||
* | | | Issue #28858: Remove _PyObject_CallArg1() macro | Victor Stinner | 2016-12-05 | 1 | -5/+6 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace _PyObject_CallArg1(func, arg) with PyObject_CallFunctionObjArgs(func, arg, NULL) Using the _PyObject_CallArg1() macro increases the usage of the C stack, which was unexpected and unwanted. PyObject_CallFunctionObjArgs() doesn't have this issue. | ||||
* | | | Backed out changeset b9c9691c72c5 | Victor Stinner | 2016-12-04 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | Issue #28858: The change b9c9691c72c5 introduced a regression. It seems like _PyObject_CallArg1() uses more stack memory than PyObject_CallFunctionObjArgs(). | ||||
* | | | Replace PyObject_CallFunction() with fastcall | Victor Stinner | 2016-12-01 | 1 | -5/+5 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Replace PyObject_CallFunction(func, "O", arg) and PyObject_CallFunction(func, "O", arg, NULL) with _PyObject_CallArg1(func, arg) Replace PyObject_CallFunction(func, NULL) with _PyObject_CallNoArg(func) _PyObject_CallNoArg() and _PyObject_CallArg1() are simpler and don't allocate memory on the C stack. | ||||
* | | | Replace PyObject_CallFunctionObjArgs() with fastcall | Victor Stinner | 2016-12-01 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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 | -1/+1 |
|/ / | | | | | | | UTF-8 represenatation of Unicode objects. | ||||
* | | Issue #28701: Replace PyUnicode_CompareWithASCIIString with ↵ | Serhiy Storchaka | 2016-11-16 | 1 | -3/+3 |
|\ \ | |/ | | | | | | | | | _PyUnicode_EqualToASCIIString. The latter function is more readable, faster and doesn't raise exceptions. | ||||
| * | Issue #28701: Replace PyUnicode_CompareWithASCIIString with ↵ | Serhiy Storchaka | 2016-11-16 | 1 | -3/+3 |
| | | | | | | | | | | | | _PyUnicode_EqualToASCIIString. The latter function is more readable, faster and doesn't raise exceptions. | ||||
* | | Fix xml.etree.ElementTree.Element.getiterator() | Victor Stinner | 2016-09-29 | 1 | -1/+1 |
| | | | | | | | | | | Issue #28314: Fix function declaration (C flags) for the getiterator() method of xml.etree.ElementTree.Element. | ||||
* | | replace PY_SIZE_MAX with SIZE_MAX | Benjamin Peterson | 2016-09-07 | 1 | -1/+1 |
| | | |||||
* | | replace Py_(u)intptr_t with the c99 standard types | Benjamin Peterson | 2016-09-06 | 1 | -4/+4 |
| | | |||||
* | | Avoid calling functions with an empty string as format string | Victor Stinner | 2016-09-06 | 1 | -1/+1 |
| | | | | | | | | Directly pass NULL rather than an empty string. | ||||
* | | Rename _PyObject_FastCall() to _PyObject_FastCallDict() | Victor Stinner | 2016-08-22 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | Issue #27809: * Rename _PyObject_FastCall() function to _PyObject_FastCallDict() * Add _PyObject_FastCall(), _PyObject_CallNoArg() and _PyObject_CallArg1() macros calling _PyObject_FastCallDict() | ||||
* | | _elementtree: deepcopy() now uses fast call | Victor Stinner | 2016-08-19 | 1 | -8/+4 |
| | | | | | | | | Issue #27128. | ||||
* | | Issue #25455: Fixed a crash in repr of ElementTree.Element with recursive tag. | Serhiy Storchaka | 2016-06-12 | 1 | -3/+16 |
|\ \ | |/ | |||||
| * | Issue #25455: Fixed a crash in repr of ElementTree.Element with recursive tag. | Serhiy Storchaka | 2016-06-12 | 1 | -3/+16 |
| | | |||||
* | | Issue #26200: Added Py_SETREF and replaced Py_XSETREF with Py_SETREF | Serhiy Storchaka | 2016-04-10 | 1 | -4/+4 |
|\ \ | |/ | | | | | in places where Py_DECREF was used. | ||||
| * | Issue #26200: Added Py_SETREF and replaced Py_XSETREF with Py_SETREF | Serhiy Storchaka | 2016-04-10 | 1 | -4/+4 |
| | | | | | | | | in places where Py_DECREF was used. | ||||
* | | Issue #22570: Renamed Py_SETREF to Py_XSETREF. | Serhiy Storchaka | 2016-04-06 | 1 | -13/+13 |
|\ \ | |/ | |||||
| * | Issue #22570: Renamed Py_SETREF to Py_XSETREF. | Serhiy Storchaka | 2016-04-06 | 1 | -11/+11 |
| | | |||||
* | | Issue #20440: Cleaning up the code by using Py_SETREF. | Serhiy Storchaka | 2016-01-05 | 1 | -3/+1 |
| | | |||||
* | | Issue #20440: Cleaning up the code by using Py_SETREF and Py_CLEAR. | Serhiy Storchaka | 2015-12-27 | 1 | -5/+1 |
| | | | | | | | | | | Old code is correct, but with Py_SETREF and Py_CLEAR it can be cleaner. This patch doesn't fix bugs and hence there is no need to backport it. | ||||
* | | Issue #20440: More use of Py_SETREF. | Serhiy Storchaka | 2015-12-27 | 1 | -22/+12 |
|\ \ | |/ | | | | | | | This patch is manually crafted and contains changes that couldn't be handled automatically. | ||||
| * | Issue #20440: More use of Py_SETREF. | Serhiy Storchaka | 2015-12-27 | 1 | -24/+14 |
| | | | | | | | | | | This patch is manually crafted and contains changes that couldn't be handled automatically. | ||||
* | | Issue #24103: Fixed possible use after free in ElementTree.XMLPullParser. | Serhiy Storchaka | 2015-12-24 | 1 | -19/+13 |
|\ \ | |/ | |||||
| * | Issue #24103: Fixed possible use after free in ElementTree.XMLPullParser. | Serhiy Storchaka | 2015-12-24 | 1 | -19/+13 |
| | | |||||
* | | Issue #25869: Optimized deepcopying ElementTree; it is now 20 times faster. | Serhiy Storchaka | 2015-12-21 | 1 | -24/+54 |
| | | |||||
* | | Issue #25873: Optimized iterating ElementTree. | Serhiy Storchaka | 2015-12-21 | 1 | -158/+101 |
| | | | | | | | | | | Iterating elements Element.iter() is now 40% faster, iterating text Element.itertext() is now up to 2.5 times faster. | ||||
* | | Issue #25902: Fixed various refcount issues in ElementTree iteration. | Serhiy Storchaka | 2015-12-21 | 1 | -32/+58 |
|\ \ | |/ | |||||
| * | Issue #25902: Fixed various refcount issues in ElementTree iteration. | Serhiy Storchaka | 2015-12-21 | 1 | -32/+58 |
| | | |||||
* | | Issue #25421: __sizeof__ methods of builtin types now use dynamic basic size. | Serhiy Storchaka | 2015-12-19 | 1 | -1/+1 |
|\ \ | |/ | | | | | | | This allows sys.getsize() to work correctly with their subclasses with __slots__ defined. | ||||
| * | Issue #25421: __sizeof__ methods of builtin types now use dynamic basic size. | Serhiy Storchaka | 2015-12-19 | 1 | -1/+1 |
| | | | | | | | | | | This allows sys.getsize() to work correctly with their subclasses with __slots__ defined. | ||||
* | | Issue #25638: Optimized ElementTree parsing; it is now 10% faster. | Serhiy Storchaka | 2015-12-10 | 1 | -9/+20 |
| | | |||||
* | | Fixed possible leaks in ElementTree parser. | Serhiy Storchaka | 2015-12-09 | 1 | -2/+8 |
|\ \ | |/ | |||||
| * | Fixed possible leaks in ElementTree parser. | Serhiy Storchaka | 2015-12-09 | 1 | -2/+8 |
| | | |||||
* | | Fixed possible leak in ElementTree.Element.iter(). | Serhiy Storchaka | 2015-12-09 | 1 | -11/+11 |
|\ \ | |/ | |||||
| * | Fixed possible leak in ElementTree.Element.iter(). | Serhiy Storchaka | 2015-12-09 | 1 | -11/+11 |
| | | |||||
* | | Issue #25638: Optimized ElementTree.iterparse(); it is now 2x faster. | Serhiy Storchaka | 2015-12-07 | 1 | -16/+19 |
| | | | | | | | | | | ElementTree.XMLParser._setevents now accepts any objects with the append method, not just a list. |