summaryrefslogtreecommitdiffstats
path: root/Modules/_pickle.c
Commit message (Collapse)AuthorAgeFilesLines
* bpo-29865: Use PyXXX_GET_SIZE macros rather than Py_SIZE for concrete types. ↵Serhiy Storchaka2017-03-211-9/+9
| | | | (#748)
* 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-12/+6
|\
| * 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
| | |
* | | 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.
* | 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-061-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-241-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-12/+22
|\ \ | |/ | | | | Original patch by Alexandre Vassalotti.
| * 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 #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-1/+1
|\ \ | |/
| * Issue #27125: Remove duplicated words from documentation and commentsMartin Panter2016-05-301-1/+1
| |
* | Issue #27076: Merge spelling from 3.5Martin Panter2016-05-261-6/+6
|\ \ | |/
| * Issue #27076: Doc, comment and tests spelling fixesMartin Panter2016-05-261-6/+6
| | | | | | | | Most fixes to Doc/ and Lib/ directories by Ville Skyttä.
* | 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-2/+2
|\ \ | |/ | | | | messages.
| * Issue #26778: Fixed "a/an/and" typos in code comment and documentation.Serhiy Storchaka2016-04-171-1/+1
| |
* | Issue #15984: Merge PyUnicode doc from 3.5Martin Panter2016-04-151-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-4/+4
|\ \ | |/
| * Issue #22570: Renamed Py_SETREF to Py_XSETREF.Serhiy Storchaka2016-04-061-2/+2
| |
| * _pickle: Fix load_counted_tuple(), use Py_ssize_t for sizeVictor Stinner2016-03-141-1/+1
| | | | | | | | Fix a warning on Windows 64-bit.
* | _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 #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 #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-11-301-1/+3
|\ \ | |/
| * Fixed reference leak when read truncated pickle.Serhiy Storchaka2015-11-301-1/+3
| |\
| | * Fixed reference leak when read truncated pickle.Serhiy Storchaka2015-11-301-1/+3
| | |
* | | Issue #25725: Fixed a reference leak in pickle.loads() when unpicklingSerhiy Storchaka2015-11-251-19/+8
|\ \ \ | |/ / | | | | | | invalid data including tuple instructions.