summaryrefslogtreecommitdiff
path: root/Modules/_pickle.c
Commit message (Collapse)AuthorAgeFilesLines
* Issue #29368: Fix _Pickle_FastCall() usage in do_append()Victor Stinner2017-02-021-1/+0
| | | | | _Pickle_FastCall() has a surprising API: it decrements the reference counter of its second argument.
* Issue #29368: The extend() method is now called instead of the append()Serhiy Storchaka2017-02-021-19/+41
| | | | | method when unpickle collections.deque and other list-like objects. This can speed up unpickling to 2 times.
* Issue #29190: Fixed possible errors in comparing strings in the pickle module.Serhiy Storchaka2017-01-091-18/+15
|\
| * Issue #28959: Added private macro PyDict_GET_SIZE for retrieving the size of ↵Serhiy Storchaka2016-12-161-9/+6
| | | | | | | | dict.
| * Initialize variables to fix compiler warningsVictor Stinner2016-12-091-3/+3
| | | | | | | | | | Warnings seen on the "AMD64 Debian PGO 3.x" buildbot. Warnings are false positive, but variable initialization should not harm performances.
| * Use _PyObject_CallMethodIdObjArgs()Victor Stinner2016-12-091-3/+3
| | | | | | | | | | | | | | | | | | Issue #28915: Replace _PyObject_CallMethodId() with _PyObject_CallMethodIdObjArgs() in various modules 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() macroVictor Stinner2016-12-051-1/+1
| | | | | | | | | | | | | | | | | | | | | | 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.
| * Added the const qualifier to char* variables that refer to readonly internalSerhiy Storchaka2016-11-201-2/+2
| | | | | | | | UTF-8 represenatation of Unicode objects.
* | Issue #29190: Fixed possible errors in comparing strings in the pickle module.Serhiy Storchaka2017-01-091-12/+6
|\ \ | |/ |/|
| * Issue #29190: Fixed possible errors in comparing strings in the pickle module.Serhiy Storchaka2017-01-091-12/+6
| |
* | Replaced outdated macros _PyUnicode_AsString and _PyUnicode_AsStringAndSizeSerhiy Storchaka2016-11-201-1/+1
| | | | | | | | with PyUnicode_AsUTF8 and PyUnicode_AsUTF8AndSize.
* | Issue #28701: Replace PyUnicode_CompareWithASCIIString with ↵Serhiy Storchaka2016-11-161-1/+1
|\ \ | |/ | | | | | | | | _PyUnicode_EqualToASCIIString. The latter function is more readable, faster and doesn't raise exceptions.
| * Issue #28701: Replace PyUnicode_CompareWithASCIIString with ↵Serhiy Storchaka2016-11-161-1/+1
| | | | | | | | | | | | _PyUnicode_EqualToASCIIString. The latter function is more readable, faster and doesn't raise exceptions.
* | Issue #25761: Improved error reporting about truncated pickle data inSerhiy Storchaka2016-09-061-39/+41
| | | | | | | | | | C implementation of unpickler. UnpicklingError is now raised instead of AttributeError and ValueError in some cases.
* | Avoid inefficient way to call functions without argumentVictor Stinner2016-09-051-1/+1
| | | | | | | | | | | | Don't pass "()" format to PyObject_CallXXX() to call a function without argument: pass NULL as the format string instead. It avoids to have to parse a string to produce 0 argument.
* | Issue #27895: Spelling fixes (Contributed by Ville Skytt?).Raymond Hettinger2016-08-301-2/+2
| |
* | _pickle: remove outdated commentVictor Stinner2016-08-251-11/+0
| | | | | | | | | | | | | | _Pickle_FastCall() is now fast again! The optimization was introduced in Python 3.2, removed in Python 3.4 and reintroduced in Python 3.6 (thanks to the new generic fastcall functions).
* | Rename _PyObject_FastCall() to _PyObject_FastCallDict()Victor Stinner2016-08-221-3/+3
| | | | | | | | | | | | | | | | Issue #27809: * Rename _PyObject_FastCall() function to _PyObject_FastCallDict() * Add _PyObject_FastCall(), _PyObject_CallNoArg() and _PyObject_CallArg1() macros calling _PyObject_FastCallDict()
* | Issue #27128: _pickle uses fast callVictor Stinner2016-08-191-15/+4
| | | | | | | | Use _PyObject_FastCall() to avoid the creation of temporary tuple.
* | Issue #17711: Fixed unpickling by the persistent ID with protocol 0.Serhiy Storchaka2016-07-171-104/+194
|\ \ | |/ |/| | | Original patch by Alexandre Vassalotti.
| * - Issue #27332: Fixed the type of the first argument of module-level functionsSerhiy Storchaka2016-07-071-8/+8
| |\ | | | | | | | | | generated by Argument Clinic. Patch by Petr Viktorin.
| * \ Issue #27125: Merge typo fixes from 3.5Martin Panter2016-05-301-104/+194
| |\ \
| | * \ Issue #27076: Merge spelling from 3.5Martin Panter2016-05-261-6/+6
| | |\ \
| | * | | Issue #27056: Fix _Unpickler_Read() to avoid integer overflowVictor Stinner2016-05-201-1/+1
| | | | |
| | * | | Optimize pickle.load() and pickle.loads()Victor Stinner2016-05-201-19/+26
| | | | | | | | | | | | | | | | | | | | | | | | | Issue #27056: Optimize pickle.load() and pickle.loads(), up to 10% faster to deserialize a lot of small objects.
| | * | | Issue #26778: Fixed "a/an/and" typos in code comment, documentation and errorSerhiy Storchaka2016-04-171-85/+168
| | |\ \ \ | | | | | | | | | | | | | | | | | | messages.
| | | * \ \ Issue #15984: Merge PyUnicode doc from 3.5Martin Panter2016-04-151-1/+1
| | | |\ \ \
| | | * \ \ \ Issue #22570: Renamed Py_SETREF to Py_XSETREF.Serhiy Storchaka2016-04-061-84/+167
| | | |\ \ \ \
| | | | * | | | _pickle: Fix load_counted_tuple(), use Py_ssize_t for sizeVictor Stinner2016-03-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix a warning on Windows 64-bit.
| | | | * | | | Issue #20440: Cleaning up the code by using Py_SETREF.Serhiy Storchaka2016-01-051-10/+2
| | | | | | | |
| | | | * | | | Issue #20440: Applied yet one patch for using Py_SETREF.Serhiy Storchaka2015-12-271-5/+3
| | | | |\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | The patch is automatically generated, it replaces the code that uses Py_CLEAR.
| | | | * | | | | Issue #25923: Added more const qualifiers to signatures of static and ↵Serhiy Storchaka2015-12-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | private functions.
| | | | * | | | | Issue #25421: __sizeof__ methods of builtin types now use dynamic basic size.Serhiy Storchaka2015-12-191-2/+2
| | | | |\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This allows sys.getsize() to work correctly with their subclasses with __slots__ defined.
| | | | * | | | | | Issue #25761: Fixed reference leak added in previous changeset (5c670af0100f).Serhiy Storchaka2015-12-071-0/+1
| | | | | | | | | |
| | | | * | | | | | Issue #25761: Improved detecting errors in broken pickle data.Serhiy Storchaka2015-12-061-42/+69
| | | | | | | | | |
| | | | * | | | | | Fixed reference leak when read truncated pickle.Serhiy Storchaka2015-12-011-31/+94
| | | | |\ \ \ \ \ \
| | | | | * \ \ \ \ \ Issue #25725: Fixed a reference leak in pickle.loads() when unpicklingSerhiy Storchaka2015-11-251-31/+94
| | | | | |\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | invalid data including tuple instructions.
| | | | | | * \ \ \ \ \ Issue #23914: Fixed SystemError raised by unpickler on broken pickle data.Serhiy Storchaka2015-11-231-3/+16
| | | | | | |\ \ \ \ \ \
| | | | | | * | | | | | | Closes #25645: Fix a reference leak introduced by change bc5894a3a0e6 of theVictor Stinner2015-11-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | issue #24164.
| | | | | | * | | | | | | Issue #25558: Use compile-time asserts.Serhiy Storchaka2015-11-071-1/+1
| | | | | | | | | | | | |
| | | | | | * | | | | | | Issue #25523: Merge a-to-an corrections from 3.5Martin Panter2015-11-021-8/+8
| | | | | | |\ \ \ \ \ \ \
| | | | | | * | | | | | | | Issue #25353: Optimize unicode escape and raw unicode escape encoders to useVictor Stinner2015-10-121-20/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | the new _PyBytesWriter API.
| | | | | | * | | | | | | | Issue #24164: Objects that need calling ``__new__`` with keyword arguments,Serhiy Storchaka2015-10-101-10/+68
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | can now be pickled using pickle protocols older than protocol version 4.
* | | | | | | | | | | | | | Issue #17711: Fixed unpickling by the persistent ID with protocol 0.Serhiy Storchaka2016-07-171-12/+22
| |_|_|_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Original patch by Alexandre Vassalotti.
* | | | | | | | | | | | | Issue #27332: Fixed the type of the first argument of module-level functionsSerhiy Storchaka2016-07-071-8/+8
|/ / / / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | generated by Argument Clinic. Patch by Petr Viktorin.
* | | | | | | | | | | | Issue #27125: Remove duplicated words from documentation and commentsMartin Panter2016-05-301-1/+1
| |_|_|_|_|_|_|_|_|_|/ |/| | | | | | | | | |
* | | | | | | | | | | Issue #27076: Doc, comment and tests spelling fixesMartin Panter2016-05-261-6/+6
|/ / / / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Most fixes to Doc/ and Lib/ directories by Ville Skytt?.
* | | | | | | | | | Issue #26778: Fixed "a/an/and" typos in code comment and documentation.Serhiy Storchaka2016-04-171-1/+1
| |_|_|_|_|_|_|_|/ |/| | | | | | | |
* | | | | | | | | Correct ?an? ? ?a? with ?Unicode?, ?user?, ?UTF?, etcMartin Panter2016-04-151-1/+1
|/ / / / / / / / | | | | | | | | | | | | | | | | | | | | | | | | This affects documentation, code comments, and a debugging messages.
* | | | | | | | Issue #22570: Renamed Py_SETREF to Py_XSETREF.Serhiy Storchaka2016-04-061-2/+2
| | | | | | | |