Christian Heimes 
								
							 
						 
						
							
							
							
							
								
							
							
								27ea78b352 
								
							 
						 
						
							
							
								
								silence compiler warning that 's' may be used uninitialized in the load function.  
							
							
							
						 
						
							2014-01-27 01:03:53 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Larry Hastings 
								
							 
						 
						
							
							
							
							
								
							
							
								c20472640c 
								
							 
						 
						
							
							
								
								Issue  #20390 : Small fixes and improvements for Argument Clinic.  
							
							
							
						 
						
							2014-01-25 20:43:29 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Larry Hastings 
								
							 
						 
						
							
							
							
							
								
							
							
								5c66189e88 
								
							 
						 
						
							
							
								
								Issue  #20189 : Four additional builtin types (PyTypeObject,  
							
							... 
							
							
							
							PyMethodDescr_Type, _PyMethodWrapper_Type, and PyWrapperDescr_Type)
have been modified to provide introspection information for builtins.
Also: many additional Lib, test suite, and Argument Clinic fixes. 
							
						 
						
							2014-01-24 06:17:25 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Larry Hastings 
								
							 
						 
						
							
							
							
							
								
							
							
								462582651c 
								
							 
						 
						
							
							
								
								Two minor Argument Clinic bugfixes: use the name of the class in the  
							
							... 
							
							
							
							docstring for __new__ and __init__, and always use "goto exit" instead of
returning "NULL" for failure to parse (as _new__ and __init__ return ints). 
							
						 
						
							2014-01-22 03:05:49 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Larry Hastings 
								
							 
						 
						
							
							
							
							
								
							
							
								b7ccb20423 
								
							 
						 
						
							
							
								
								Issue  #20294 : Argument Clinic now supports argument parsing for __new__ and  
							
							... 
							
							
							
							__init__ functions. 
							
						 
						
							2014-01-18 23:50:21 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Larry Hastings 
								
							 
						 
						
							
							
							
							
								
							
							
								bebf73511a 
								
							 
						 
						
							
							
								
								Issue  #20287 : Argument Clinic's output is now configurable, allowing  
							
							... 
							
							
							
							delaying its output or even redirecting it to a separate file. 
							
						 
						
							2014-01-17 17:47:17 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Larry Hastings 
								
							 
						 
						
							
							
							
							
								
							
							
								8666e65206 
								
							 
						 
						
							
							
								
								Issue  #20228 : Argument Clinic now has special support for class special  
							
							... 
							
							
							
							methods. 
							
						 
						
							2014-01-12 14:12:59 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Larry Hastings 
								
							 
						 
						
							
							
							
							
								
							
							
								61272b77b0 
								
							 
						 
						
							
							
								
								Issue  #19273 : The marker comments Argument Clinic uses have been changed  
							
							... 
							
							
							
							to improve readability. 
							
						 
						
							2014-01-07 12:41:53 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Larry Hastings 
								
							 
						 
						
							
							
							
							
								
							
							
								3cceb38486 
								
							 
						 
						
							
							
								
								Issue  #19976 : Argument Clinic METH_NOARGS functions now always  
							
							... 
							
							
							
							take two parameters. 
							
						 
						
							2014-01-04 11:09:09 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Stefan Krah 
								
							 
						 
						
							
							
							
							
								
							
							
								f483b0f3a9 
								
							 
						 
						
							
							
								
								Issue  #19972 : Add rarely used freefunc.  This fixes a leak if sys.exit()  
							
							... 
							
							
							
							is used in a program. 
							
						 
						
							2013-12-14 13:43:10 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								d05c9ff845 
								
							 
						 
						
							
							
								
								Issue  #6784 : Strings from Python 2 can now be unpickled as bytes objects.  
							
							... 
							
							
							
							Initial patch by Merlijn van Deen.
I've added a few unrelated docstring fixes in the patch while I was at
it, which makes the documentation for pickle a bit more consistent. 
							
						 
						
							2013-12-07 01:09:27 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								6e73ff1a31 
								
							 
						 
						
							
							
								
								Issue  #19881 : Fix bad pickling of large bytes in cpickle.  
							
							
							
						 
						
							2013-12-05 19:29:32 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								2ccf8e969c 
								
							 
						 
						
							
							
								
								Issue  #6477 : Merge with 3.3.  
							
							
							
						 
						
							2013-11-30 17:58:53 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								65846c6c51 
								
							 
						 
						
							
							
								
								Issue  #6477 : Keep PyNotImplemented_Type and PyNone_Type private.  
							
							
							
						 
						
							2013-11-30 17:55:48 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								3c23e7a5dc 
								
							 
						 
						
							
							
								
								Issue  #6477 : Merge with 3.3.  
							
							
							
						 
						
							2013-11-30 16:21:20 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								19b6fa6ebb 
								
							 
						 
						
							
							
								
								Issue  #6477 : Added support for pickling the types of built-in singletons.  
							
							
							
						 
						
							2013-11-30 16:06:39 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								a1eedf9ff0 
								
							 
						 
						
							
							
								
								Merge with 3.3.  
							
							
							
						 
						
							2013-11-30 13:55:39 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								896414fedf 
								
							 
						 
						
							
							
								
								Fixed _pickle.Unpickler to handle empty persistent IDs correctly.  
							
							
							
						 
						
							2013-11-30 13:52:35 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								6fe39b76a9 
								
							 
						 
						
							
							
								
								Issue  #17897 : Optimized unpickle prefetching.  
							
							
							
						 
						
							2013-11-30 23:15:38 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								567eba1852 
								
							 
						 
						
							
							
								
								Use PyDict_GetItemWithError instead of PyDict_GetItem in cpickle.  
							
							
							
						 
						
							2013-11-28 17:09:16 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								6bf41e54a4 
								
							 
						 
						
							
							
								
								Remove explicit empty tuple reuse in cpickle.  
							
							... 
							
							
							
							PyTuple_New(0) always returns the same empty tuple from its free list anyway,
so we are not saving much here. Plus, the code where this was used is on
uncommon run paths. 
							
						 
						
							2013-11-28 15:17:29 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								b13e6bcbd8 
								
							 
						 
						
							
							
								
								Remove the tuple reuse optimization in _Pickle_FastCall.  
							
							... 
							
							
							
							I have noticed a race-condition occurring on one of the buildbots because of
this optimization. The function called may release the GIL which means
multiple threads may end up accessing the shared tuple. I could fix it up by
storing the tuple to the Pickler and Unipickler object again, but honestly it
really not worth the trouble.
I ran many benchmarks and the only time the optimization helps is when using a
fin-memory file, like io.BytesIO on which reads are super cheap, combined with
pickle protocol less than 4. Even in this contrived case, the speedup is a
about 5%. For everything else, this optimization does not provide any
noticable improvements. 
							
						 
						
							2013-11-28 14:56:09 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								23bdd83053 
								
							 
						 
						
							
							
								
								Encapsulate cpickle global state in a dedicated object.  
							
							... 
							
							
							
							This implements PEP 3121 module finalization as well. This change does not
cause any significant impact on performance. 
							
						 
						
							2013-11-27 19:36:52 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								20c28c1ea2 
								
							 
						 
						
							
							
								
								Combine the FastCall functions in cpickle.  
							
							... 
							
							
							
							I fixed the bug that was in my previous attempt of this cleanup. I ran
the full test suite to verify I didn't introduce any obvious bugs. 
							
						 
						
							2013-11-27 02:26:54 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								b4a04fb7e6 
								
							 
						 
						
							
							
								
								Reverting e39db21df580 eagerly due to buildbot failures.  
							
							
							
						 
						
							2013-11-25 13:25:12 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								f94a041f8f 
								
							 
						 
						
							
							
								
								Combine _Pickler_FastCall and _Unpickler_FastCall in cpickle.  
							
							
							
						 
						
							2013-11-25 13:03:32 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								1048fb5539 
								
							 
						 
						
							
							
								
								Issue  #19739 : Try to fix compiler warnings on 32-bit Windows.  
							
							
							
						 
						
							2013-11-25 11:35:46 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								ded929b300 
								
							 
						 
						
							
							
								
								Merge save_int into save_long in cpickle to remove redundant code.  
							
							... 
							
							
							
							Also, replace unnessary uses of the #if preprocessor directive. 
							
						 
						
							2013-11-24 22:41:13 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								8a67f52463 
								
							 
						 
						
							
							
								
								Simplify save_bool in cpickle.  
							
							
							
						 
						
							2013-11-24 21:40:18 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								ed8c906127 
								
							 
						 
						
							
							
								
								Use Clinic to process arguments in cpickle.  
							
							... 
							
							
							
							This doesn't make any functional changes to the exisiting implementation.  The
conversion did help however uncover documentation bugs. The best thing about
this conversion is less C code to maintain by hand. 
							
						 
						
							2013-11-24 12:25:48 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								fc91285c93 
								
							 
						 
						
							
							
								
								Remove code path in cpickle that does not exist in pickle.  
							
							
							
						 
						
							2013-11-24 03:07:35 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								c49477b184 
								
							 
						 
						
							
							
								
								Make Ellipsis and NotImplemented picklable through the reduce protocol.  
							
							
							
						 
						
							2013-11-24 02:53:45 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								4c05d3bc56 
								
							 
						 
						
							
							
								
								Make built-in methods picklable through the reduce protocol.  
							
							
							
						 
						
							2013-11-24 02:41:05 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Alexandre Vassalotti 
								
							 
						 
						
							
							
							
							
								
							
							
								b6a2f2a0d1 
								
							 
						 
						
							
							
								
								Make framing optional in pickle protocol 4.  
							
							... 
							
							
							
							This will allow us to control in the future whether to use framing or not.
For example, we may want to turn it off for tiny pickle where it doesn't
help.
The change also improves performance slightly:
### fastpickle ###
Min: 0.608517 -> 0.557358: 1.09x faster
Avg: 0.798892 -> 0.694738: 1.15x faster
Significant (t=3.45)
Stddev: 0.17145 -> 0.12704: 1.3496x smaller
Timeline: http://goo.gl/3xQE1J 
### pickle_dict ###
Min: 0.669920 -> 0.615271: 1.09x faster
Avg: 0.733633 -> 0.645058: 1.14x faster
Significant (t=5.05)
Stddev: 0.12041 -> 0.02961: 4.0662x smaller
Timeline: http://goo.gl/LpLSXI 
### pickle_list ###
Min: 0.397583 -> 0.368112: 1.08x faster
Avg: 0.412784 -> 0.397223: 1.04x faster
Significant (t=2.78)
Stddev: 0.01518 -> 0.03653: 2.4068x larger
Timeline: http://goo.gl/v39E59 
### unpickle_list ###
Min: 0.692935 -> 0.594870: 1.16x faster
Avg: 0.730012 -> 0.628395: 1.16x faster
Significant (t=17.76)
Stddev: 0.02720 -> 0.02995: 1.1012x larger
Timeline: http://goo.gl/2P9AEt 
The following not significant results are hidden, use -v to show them:
fastunpickle. 
							
						 
						
							2013-11-23 20:30:03 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Antoine Pitrou 
								
							 
						 
						
							
							
							
							
								
							
							
								c1207c1bcf 
								
							 
						 
						
							
							
								
								Fix signed / unsigned comparison  
							
							
							
						 
						
							2013-11-23 21:34:04 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Gregory P. Smith 
								
							 
						 
						
							
							
							
							
								
							
							
								2b38fc187c 
								
							 
						 
						
							
							
								
								gcc doesn't realize that dummy is always initialized by the function call  
							
							... 
							
							
							
							and warns about potential uninitialized use.
Silence that by initializing it to null. 
							
						 
						
							2013-11-23 20:21:28 +00:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Christian Heimes 
								
							 
						 
						
							
							
							
							
								
							
							
								e8b1ba1699 
								
							 
						 
						
							
							
								
								Issue  #17810 : Add two missing error checks to save_global  
							
							... 
							
							
							
							CID 1131946:  Unchecked return value  (CHECKED_RETURN) 
							
						 
						
							2013-11-23 21:13:39 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Antoine Pitrou 
								
							 
						 
						
							
							
							
							
								
							
							
								6188d09f1c 
								
							 
						 
						
							
							
								
								Merge  
							
							
							
						 
						
							2013-11-23 21:06:21 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Christian Heimes 
								
							 
						 
						
							
							
							
							
								
							
							
								74d8d63b18 
								
							 
						 
						
							
							
								
								Issue  #17810 : return -1 on error  
							
							
							
						 
						
							2013-11-23 21:05:31 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Antoine Pitrou 
								
							 
						 
						
							
							
							
							
								
							
							
								8f2ee6e407 
								
							 
						 
						
							
							
								
								Fix writing out 64-bit size fields on 32-bit builds  
							
							
							
						 
						
							2013-11-23 21:05:08 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Christian Heimes 
								
							 
						 
						
							
							
							
							
								
							
							
								b3d3ee4fef 
								
							 
						 
						
							
							
								
								Issue  #17810 : Add NULL check to save_frozenset  
							
							... 
							
							
							
							CID 1131949:  Dereference null return value  (NULL_RETURNS) 
							
						 
						
							2013-11-23 21:01:40 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Antoine Pitrou 
								
							 
						 
						
							
							
							
							
								
							
							
								c9dc4a2a8a 
								
							 
						 
						
							
							
								
								Issue  #17810 : Implement PEP 3154, pickle protocol 4.  
							
							... 
							
							
							
							Most of the work is by Alexandre. 
							
						 
						
							2013-11-23 18:59:12 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								804e05e800 
								
							 
						 
						
							
							
								
								Issue  #19437 : Use an identifier for "__name__" string in pickle to improve  
							
							... 
							
							
							
							error handling
The following code didn't handle correctly the failure of
PyUnicode_InternFromString("__name__").
if (newobj_str == NULL) {
    newobj_str = PyUnicode_InternFromString("__newobj__");
    name_str = PyUnicode_InternFromString("__name__");
    if (newobj_str == NULL || name_str == NULL)
        return -1;
} 
							
						 
						
							2013-11-14 01:26:17 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								bb52020d44 
								
							 
						 
						
							
							
								
								Issue  #19512 : pickle now uses an identifier to only create the Unicode string  
							
							... 
							
							
							
							"modules" once 
							
						 
						
							2013-11-06 22:40:41 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								2ae57e3cf8 
								
							 
						 
						
							
							
								
								Issue  #19437 : Fix _pickle, don't call _Unpickler_SkipConsumed() with an  
							
							... 
							
							
							
							exception set 
							
						 
						
							2013-10-31 13:39:23 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								b43ad1d569 
								
							 
						 
						
							
							
								
								cleanup _Unpickler_SkipConsumed(): remove 1 level of indentation  
							
							
							
						 
						
							2013-10-31 13:38:42 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								46e1ce214b 
								
							 
						 
						
							
							
								
								Issue  #18783 : Removed existing mentions of Python long type in docstrings,  
							
							... 
							
							
							
							error messages and comments. 
							
						 
						
							2013-08-27 20:17:03 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								9594942716 
								
							 
						 
						
							
							
								
								Issue  #18783 : Removed existing mentions of Python long type in docstrings,  
							
							... 
							
							
							
							error messages and comments. 
							
						 
						
							2013-08-27 19:40:23 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Christian Heimes 
								
							 
						 
						
							
							
							
							
								
							
							
								f446d21708 
								
							 
						 
						
							
							
								
								Issue  #18559 : Fix NULL pointer dereference error in _pickle module  
							
							
							
						 
						
							2013-07-26 22:45:47 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Christian Heimes 
								
							 
						 
						
							
							
							
							
								
							
							
								9ee5c37c8f 
								
							 
						 
						
							
							
								
								Issue  #18559 : Fix NULL pointer dereference error in _pickle module  
							
							
							
						 
						
							2013-07-26 22:45:00 +02:00