INADA Naoki 
								
							 
						 
						
							
							
							
							
								
							
							
								ba6097734d 
								
							 
						 
						
							
							
								
								Issue  #28818 : Simplify lookdict functions  
							
							
							
						 
						
							2016-12-07 20:41:42 +09:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								a5ed5f000a 
								
							 
						 
						
							
							
								
								Use _PyObject_CallNoArg()  
							
							... 
							
							
							
							Replace:
    PyObject_CallObject(callable, NULL)
with:
    _PyObject_CallNoArg(callable) 
							
						 
						
							2016-12-06 18:45:50 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								de4ae3d486 
								
							 
						 
						
							
							
								
								Backed out changeset b9c9691c72c5  
							
							... 
							
							
							
							Issue #28858 : The change b9c9691c72c5 introduced a regression. It seems like
_PyObject_CallArg1() uses more stack memory than
PyObject_CallFunctionObjArgs(). 
							
						 
						
							2016-12-04 22:59:09 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								27580c1fb5 
								
							 
						 
						
							
							
								
								Replace PyObject_CallFunctionObjArgs() with fastcall  
							
							... 
							
							
							
							* 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 . 
							
						 
						
							2016-12-01 14:43:22 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									INADA Naoki 
								
							 
						 
						
							
							
							
							
								
							
							
								92c50eee52 
								
							 
						 
						
							
							
								
								Issue  #28731 : Optimize _PyDict_NewPresized() to create correct size dict  
							
							... 
							
							
							
							Improve speed of dict literal with constant keys up to 30%. 
							
						 
						
							2016-11-22 00:57:02 +09:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								c7a8f67411 
								
							 
						 
						
							
							
								
								Issue  #28618 : Mark dict lookup functions as hot  
							
							... 
							
							
							
							It's common to see these functions in the top 3 of "perf report". 
							
						 
						
							2016-11-15 15:13:40 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								0cae609847 
								
							 
						 
						
							
							
								
								Use PyThreadState_GET() in performance critical code  
							
							... 
							
							
							
							It seems like _PyThreadState_UncheckedGet() is not inlined as expected, even
when using gcc -O3. 
							
						 
						
							2016-11-11 01:43:56 +01:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								e26e20db95 
								
							 
						 
						
							
							
								
								Issue  #28199 : Microoptimized dict resizing.  Based on patch by Naoki Inada.  
							
							
							
						 
						
							2016-10-29 10:50:00 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								04230c4087 
								
							 
						 
						
							
							
								
								Issue  #28123 : _PyDict_GetItem_KnownHash() now can raise an exception as  
							
							... 
							
							
							
							PyDict_GetItemWithError().  Patch by Xiang Zhang. 
							
						 
						
							2016-11-06 13:19:38 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								f0b311bd73 
								
							 
						 
						
							
							
								
								Issue  #28123 : _PyDict_GetItem_KnownHash() now can raise an exception as  
							
							... 
							
							
							
							PyDict_GetItemWithError().  Patch by Xiang Zhang. 
							
						 
						
							2016-11-06 13:18:24 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									INADA Naoki 
								
							 
						 
						
							
							
							
							
								
							
							
								ca2d8be4ba 
								
							 
						 
						
							
							
								
								Issue  #28580 : Optimize iterating split table values.  
							
							... 
							
							
							
							Patch by Xiang Zhang. 
							
						 
						
							2016-11-04 16:59:10 +09:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									INADA Naoki 
								
							 
						 
						
							
							
							
							
								
							
							
								a3498c7569 
								
							 
						 
						
							
							
								
								Issue  #28583 : PyDict_SetDefault didn't combine split table when needed.  
							
							... 
							
							
							
							Patch by Xiang Zhang. 
							
						 
						
							2016-11-02 18:47:24 +09:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									INADA Naoki 
								
							 
						 
						
							
							
							
							
								
							
							
								93f26f794d 
								
							 
						 
						
							
							
								
								Issue  #28583 : PyDict_SetDefault didn't combine split table when needed.  
							
							... 
							
							
							
							Patch by Xiang Zhang. 
							
						 
						
							2016-11-02 18:45:16 +09:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								5e325d9c41 
								
							 
						 
						
							
							
								
								Merge from 3.6.  
							
							
							
						 
						
							2016-10-31 20:15:48 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								7f0514ad54 
								
							 
						 
						
							
							
								
								Backed out changeset 6b88dfc7b25d  
							
							
							
						 
						
							2016-10-31 20:14:05 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								041794908b 
								
							 
						 
						
							
							
								
								Issue  #28199 : Microoptimized dict resizing.  Based on patch by Naoki Inada.  
							
							
							
						 
						
							2016-10-29 10:50:00 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								d76d8bfee1 
								
							 
						 
						
							
							
								
								Issue  #28199 : Microoptimized dict resizing.  Based on patch by Naoki Inada.  
							
							
							
						 
						
							2016-10-29 10:49:43 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yury Selivanov 
								
							 
						 
						
							
							
							
							
								
							
							
								f0bbee6228 
								
							 
						 
						
							
							
								
								Merge 3.6 (issue  #28544 )  
							
							
							
						 
						
							2016-10-28 19:01:46 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yury Selivanov 
								
							 
						 
						
							
							
							
							
								
							
							
								684ef2c888 
								
							 
						 
						
							
							
								
								Issue  #28544 : Pass PyObject* to _PyDict_Pop, not PyDictObject*  
							
							
							
						 
						
							2016-10-28 19:01:21 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									INADA Naoki 
								
							 
						 
						
							
							
							
							
								
							
							
								b574e77122 
								
							 
						 
						
							
							
								
								Issue  #28509 : dict.update() no longer allocate unnecessary large memory  
							
							
							
						 
						
							2016-10-27 19:30:10 +09:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									INADA Naoki 
								
							 
						 
						
							
							
							
							
								
							
							
								b1152be2de 
								
							 
						 
						
							
							
								
								Issue  #28509 : dict.update() no longer allocate unnecessary large memory  
							
							
							
						 
						
							2016-10-27 19:26:50 +09:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								b12785d456 
								
							 
						 
						
							
							
								
								Reference the original compact-and-ordered proposal  
							
							
							
						 
						
							2016-10-22 09:58:14 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									doko@ubuntu.com 
								
							 
						 
						
							
							
							
							
								
							
							
								de69ee71e2 
								
							 
						 
						
							
							
								
								- dictobject.c: Make dict_merge symbol a static symbol  
							
							
							
						 
						
							2016-10-11 08:04:02 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									doko@ubuntu.com 
								
							 
						 
						
							
							
							
							
								
							
							
								c96df68ea3 
								
							 
						 
						
							
							
								
								- dictobject.c: Make dict_merge symbol a static symbol  
							
							
							
						 
						
							2016-10-11 08:04:02 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								49f5cdde1a 
								
							 
						 
						
							
							
								
								Issue  #28183 : Optimize and cleanup dict iteration.  
							
							
							
						 
						
							2016-10-09 23:08:05 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									INADA Naoki 
								
							 
						 
						
							
							
							
							
								
							
							
								267941c675 
								
							 
						 
						
							
							
								
								Issue  #28201 : Dict reduces possibility of 2nd conflict in hash table.  
							
							... 
							
							
							
							Do perturb shift after first conflict. 
							
						 
						
							2016-10-06 15:19:07 +09:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								e036ef8fa2 
								
							 
						 
						
							
							
								
								Issue  #27358 : Optimized merging var-keyword arguments and improved error  
							
							... 
							
							
							
							message when pass a non-mapping as a var-keyword argument. 
							
						 
						
							2016-10-02 11:06:43 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								97932e4c4f 
								
							 
						 
						
							
							
								
								issue  #28144 : Decrease empty_keys_struct's dk_refcnt  
							
							... 
							
							
							
							since there is no dummy_struct any more.
Patch by Xiang Zhang. 
							
						 
						
							2016-09-26 23:01:23 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								46825d2399 
								
							 
						 
						
							
							
								
								Issue  #28194 : Clean up some checks in dict implementation.  
							
							... 
							
							
							
							Patch by Xiang Zhang. 
							
						 
						
							2016-09-26 21:29:34 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								6692f01c91 
								
							 
						 
						
							
							
								
								merge  
							
							
							
						 
						
							2016-09-18 21:46:08 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								611b0fa94c 
								
							 
						 
						
							
							
								
								Add _PyDict_CheckConsistency()  
							
							... 
							
							
							
							Issue #28127 : Add a function to check that a dictionary remains consistent
after any change.
By default, tables are not checked, only basic attributes. Define DEBUG_PYDICT
(ex: gcc -D DEBUG_PYDICT) to also check dictionary "content". 
							
						 
						
							2016-09-14 15:02:01 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								d0ad11f6b4 
								
							 
						 
						
							
							
								
								Fix _PyDict_Pop() on pending key  
							
							... 
							
							
							
							Issue #28120 : Fix dict.pop() for splitted dictionary when trying to remove a
"pending key" (Not yet inserted in split-table).
Patch by Xiang Zhang. 
							
						 
						
							2016-09-13 16:56:38 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								9926480b6a 
								
							 
						 
						
							
							
								
								Issue  #28040 : Cleanup find_empty_slot()  
							
							... 
							
							
							
							find_empty_slot() only supports combined dict 
							
						 
						
							2016-09-13 09:38:29 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								3c336c5915 
								
							 
						 
						
							
							
								
								Issue  #28077 : find_empty_slot() only supports combined dict  
							
							
							
						 
						
							2016-09-12 14:17:40 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								473e0e4dba 
								
							 
						 
						
							
							
								
								Fixed compiler warnings in compact dict implementation on 32-bit platforms.  
							
							
							
						 
						
							2016-09-10 21:34:43 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								990397ef1e 
								
							 
						 
						
							
							
								
								dictobject.c: explain why stringlib is used  
							
							
							
						 
						
							2016-09-09 20:22:59 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								78601a38c2 
								
							 
						 
						
							
							
								
								Fix SystemError in compact dict  
							
							... 
							
							
							
							Issue #28040 : Fix _PyDict_DelItem_KnownHash() and _PyDict_Pop(): convert
splitted table to combined table to be able to delete the item.
Write an unit test for the issue.
Patch by INADA Naoki. 
							
						 
						
							2016-09-09 19:28:36 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Berker Peksag 
								
							 
						 
						
							
							
							
							
								
							
							
								71c01d43a7 
								
							 
						 
						
							
							
								
								Issue  #28033 : Fix typo in dictobject.c  
							
							... 
							
							
							
							Patch by Wesley Emeneker. 
							
						 
						
							2016-09-09 03:57:23 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								3c569295d6 
								
							 
						 
						
							
							
								
								do not worry about 64-bit dict sizes on 32-bit platforms  
							
							
							
						 
						
							2016-09-08 13:16:41 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								3b6a6b4215 
								
							 
						 
						
							
							
								
								Add a new private version to the builtin dict type  
							
							... 
							
							
							
							Issue #26058 : Add a new private version to the builtin dict type, incremented
at each dictionary creation and at each dictionary change.
Implementation of the PEP 509. 
							
						 
						
							2016-09-08 12:51:24 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								186122ead2 
								
							 
						 
						
							
							
								
								access dk_indices through a union  
							
							
							
						 
						
							2016-09-08 12:20:12 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								a4348cc1be 
								
							 
						 
						
							
							
								
								Add documentation to the dict implementation  
							
							... 
							
							
							
							Issue #27350 . 
							
						 
						
							2016-09-08 12:01:25 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								58f7c5a955 
								
							 
						 
						
							
							
								
								Reindeint DK_xxx macros  
							
							... 
							
							
							
							Issue #27350 . 
							
						 
						
							2016-09-08 11:37:36 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								208857ec33 
								
							 
						 
						
							
							
								
								dk_get_index/dk_set_index uses a type indices variable  
							
							... 
							
							
							
							Issue #27350 . 
							
						 
						
							2016-09-08 11:35:46 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								dee6e252cc 
								
							 
						 
						
							
							
								
								Split lookdict_unicode_nodummy() assertion to debug  
							
							... 
							
							
							
							Issue #27350 . 
							
						 
						
							2016-09-08 11:16:07 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								71211e3386 
								
							 
						 
						
							
							
								
								Add assertions to dk_set_index()  
							
							... 
							
							
							
							Issue #27350 . 
							
						 
						
							2016-09-08 10:52:46 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								003f059b3a 
								
							 
						 
						
							
							
								
								link to canonical blogspot  
							
							
							
						 
						
							2016-09-08 10:14:31 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								7322225a57 
								
							 
						 
						
							
							
								
								use native inline instead of Py_LOCAL_INLINE  
							
							
							
						 
						
							2016-09-08 09:58:47 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								f0acae2d3c 
								
							 
						 
						
							
							
								
								rearrange to make gcc happy  
							
							
							
						 
						
							2016-09-08 09:50:08 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Victor Stinner 
								
							 
						 
						
							
							
							
							
								
							
							
								98ee9d5b73 
								
							 
						 
						
							
							
								
								Add Py_MEMBER_SIZE macro  
							
							... 
							
							
							
							Issue #27350 : use Py_MEMBER_SIZE() macro to get the size of
PyDictKeyEntry.dk_indices, rather than hardcoding 8. 
							
						 
						
							2016-09-08 09:33:56 -07:00