Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								3e47a1337c 
								
							 
						 
						
							
							
								
								merge 3.5  
							
							
							
						 
						
							2016-01-01 11:56:35 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								4e3dd51396 
								
							 
						 
						
							
							
								
								merge 3.4  
							
							
							
						 
						
							2016-01-01 11:56:16 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								630329e4ea 
								
							 
						 
						
							
							
								
								merge 3.3  
							
							
							
						 
						
							2016-01-01 11:55:47 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Benjamin Peterson 
								
							 
						 
						
							
							
							
							
								
							
							
								0e617e22f0 
								
							 
						 
						
							
							
								
								remove some copyright notices supserseded by the toplevel ones  
							
							
							
						 
						
							2016-01-01 11:53:47 -06:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								a9406e77fa 
								
							 
						 
						
							
							
								
								Issue  #25421 : __sizeof__ methods of builtin types now use dynamic basic size.  
							
							... 
							
							
							
							This allows sys.getsize() to work correctly with their subclasses with
__slots__ defined. 
							
						 
						
							2015-12-19 20:07:11 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								5c4064e8bd 
								
							 
						 
						
							
							
								
								Issue  #25421 : __sizeof__ methods of builtin types now use dynamic basic size.  
							
							... 
							
							
							
							This allows sys.getsize() to work correctly with their subclasses with
__slots__ defined. 
							
						 
						
							2015-12-19 20:05:25 +02:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								e4495877dd 
								
							 
						 
						
							
							
								
								Minor tweek.  Counting down rather than up reduces register pressure.  
							
							
							
						 
						
							2015-12-15 00:42:30 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								86d322f020 
								
							 
						 
						
							
							
								
								Undo inadvertent line swap  
							
							
							
						 
						
							2015-12-13 19:27:17 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								5088f6005f 
								
							 
						 
						
							
							
								
								Hoist constant expressions (so->table and so->mask) out of the inner-loop.  
							
							
							
						 
						
							2015-12-13 18:45:01 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								66f6238fca 
								
							 
						 
						
							
							
								
								Add assertion to verify the pre-condition in the comments.  
							
							
							
						 
						
							2015-11-17 20:58:43 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								6019c8ced0 
								
							 
						 
						
							
							
								
								Issue  #25629 : Move set fill/used updates out of inner loop  
							
							
							
						 
						
							2015-11-17 08:28:07 -08:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								4148195c45 
								
							 
						 
						
							
							
								
								Move the active entry multiplication to later in the hash calculation  
							
							
							
						 
						
							2015-08-07 00:43:39 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								b501a27ad8 
								
							 
						 
						
							
							
								
								Restore frozenset hash caching removed in cf707dd190a9  
							
							
							
						 
						
							2015-08-06 22:15:22 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								a286a51ae1 
								
							 
						 
						
							
							
								
								Fix comment typo  
							
							
							
						 
						
							2015-08-01 11:07:11 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								36c0500990 
								
							 
						 
						
							
							
								
								Tweak the comments  
							
							
							
						 
						
							2015-08-01 10:57:42 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								fbffdef47d 
								
							 
						 
						
							
							
								
								Issue  #24762 :  Speed-up frozenset_hash() and greatly beef-up the comments.  
							
							
							
						 
						
							2015-08-01 09:53:00 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								daffc916aa 
								
							 
						 
						
							
							
								
								Issue  #24681 :  Move the most likely test first in set_add_entry().  
							
							
							
						 
						
							2015-07-31 07:58:56 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								70559b5c20 
								
							 
						 
						
							
							
								
								Issue  #24681 :  Move the store of so->table to the code block where it is used.  
							
							
							
						 
						
							2015-07-23 07:42:23 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								ff9e18a863 
								
							 
						 
						
							
							
								
								Issue  #24583 :  Consolidate previous set object updates into a single function  
							
							... 
							
							
							
							with a single entry point, named exit points at the bottom, more self-evident
refcount adjustments, and a comment describing why the pre-increment was
necessary at all. 
							
						 
						
							2015-07-20 07:34:05 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								482c05cbb5 
								
							 
						 
						
							
							
								
								Issue  #24583 : Fix refcount leak.  
							
							
							
						 
						
							2015-07-20 01:23:32 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								061091a7c5 
								
							 
						 
						
							
							
								
								Issue  #24583 : Fix crash when set is mutated while being updated.  
							
							
							
						 
						
							2015-07-15 23:54:02 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								d702044bcd 
								
							 
						 
						
							
							
								
								merge  
							
							
							
						 
						
							2015-07-15 23:52:29 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								a3626bc5bd 
								
							 
						 
						
							
							
								
								Issue  #24583 : Fix crash when set is mutated while being updated.  
							
							
							
						 
						
							2015-07-15 23:50:14 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								5d2385ff6f 
								
							 
						 
						
							
							
								
								Neaten-up a little bit.  
							
							
							
						 
						
							2015-07-08 11:52:27 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								9632a7d735 
								
							 
						 
						
							
							
								
								Issue 24581: Revert c9782a9ac031 pending a stronger test for mutation during iteration.  
							
							
							
						 
						
							2015-07-07 15:29:24 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								11ce8e6c37 
								
							 
						 
						
							
							
								
								Minor bit of factoring-out common code.  
							
							
							
						 
						
							2015-07-06 19:08:49 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								3dbc11cadd 
								
							 
						 
						
							
							
								
								Tighten-up code in the set iterator to use an entry pointer rather than indexing.  
							
							
							
						 
						
							2015-07-06 19:03:01 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								ef6bd7d963 
								
							 
						 
						
							
							
								
								Tighten-up code in set_next() to use an entry pointer rather than indexing.  
							
							
							
						 
						
							2015-07-06 08:43:37 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								b48d6a63ff 
								
							 
						 
						
							
							
								
								Bring related functions add/contains/discard together in the code.  
							
							
							
						 
						
							2015-07-05 16:27:44 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								73799b181e 
								
							 
						 
						
							
							
								
								Change add/contains/discard calls to pass the key and hash instead of an entry struct.  
							
							
							
						 
						
							2015-07-05 16:06:10 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								dc28d5a198 
								
							 
						 
						
							
							
								
								Clean-up call patterns for add/contains/discard to better match the caller's needs.  
							
							
							
						 
						
							2015-07-05 10:03:20 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								ac2ef65c32 
								
							 
						 
						
							
							
								
								Make the unicode equality test an external function rather than in-lining it.  
							
							... 
							
							
							
							The real benefit of the unicode specialized function comes from
bypassing the overhead of PyObject_RichCompareBool() and not
from being in-lined (especially since there was almost no shared
data between the caller and callee).  Also, the in-lining was
having a negative effect on code generation for the callee. 
							
						 
						
							2015-07-04 16:04:44 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								e186c7674c 
								
							 
						 
						
							
							
								
								Make sure the dummy percentage calculation won't overflow.  
							
							
							
						 
						
							2015-07-04 11:28:35 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								c2480dc0c4 
								
							 
						 
						
							
							
								
								Minor cleanup.  
							
							
							
						 
						
							2015-07-04 08:46:31 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								b322326f48 
								
							 
						 
						
							
							
								
								Minor nit:  Make the style of checking error return values more consistent.  
							
							
							
						 
						
							2015-07-03 23:37:16 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								4897300276 
								
							 
						 
						
							
							
								
								Minor factoring:  move redundant resize scaling logic into the resize function.  
							
							
							
						 
						
							2015-07-03 20:00:03 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								3c1f52e829 
								
							 
						 
						
							
							
								
								Call set_lookkey() directly to avoid unnecessary memory spills and reloads.  
							
							
							
						 
						
							2015-07-03 18:31:09 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								15f0869609 
								
							 
						 
						
							
							
								
								Move insertion resize logic into set_insert_key().  
							
							... 
							
							
							
							Simplifies the code a little bit and does the resize check
only when a new key is added (giving a small speed up in
the case where the key already exists).
Fixes possible bug in set_merge() where the set_insert_key()
call relies on a big resize at the start to make enough room
for the keys but is vulnerable to a comparision callback that
could cause the table to shrink in the middle of the merge.
Also, changed the resize threshold from two-thirds of the
mask+1 to just two-thirds.  The plus one offset gave no
real benefit (afterall, the two-thirds mark is just a
heuristic and isn't a precise cut-off). 
							
						 
						
							2015-07-03 17:21:17 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								2eff9e9441 
								
							 
						 
						
							
							
								
								Minor refactoring.  Move reference count logic into function that adds entry.  
							
							
							
						 
						
							2015-06-27 22:03:35 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								91672617d5 
								
							 
						 
						
							
							
								
								Minor tweeak to tighten the inner-loop.  
							
							
							
						 
						
							2015-06-26 02:50:21 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								38bb95e49d 
								
							 
						 
						
							
							
								
								Minor code cleanup.  
							
							
							
						 
						
							2015-06-24 01:22:19 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								7e3592dca6 
								
							 
						 
						
							
							
								
								Harmonize the bottom of the outer loop with its entry point  
							
							... 
							
							
							
							giving a small simplification.  Timings show that hash
pre-check seems only benefit the inner-loop (the linear probes). 
							
						 
						
							2015-06-21 10:47:20 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								6ee588f14e 
								
							 
						 
						
							
							
								
								Restore quick exit (no freeslot check) for common case (found null on first probe).  
							
							
							
						 
						
							2015-06-20 21:39:51 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Yury Selivanov 
								
							 
						 
						
							
							
							
							
								
							
							
								7aa5341164 
								
							 
						 
						
							
							
								
								Reverting my previous commit.  
							
							... 
							
							
							
							Something went horribly wrong when I was doing `hg rebase`. 
							
						 
						
							2015-05-30 10:57:56 -04:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								e90982111a 
								
							 
						 
						
							
							
								
								Issue  #24115 : Update uses of PyObject_IsTrue(), PyObject_Not(),  
							
							... 
							
							
							
							PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
to check for and handle errors correctly. 
							
						 
						
							2015-05-30 17:48:54 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								ac5569b1fa 
								
							 
						 
						
							
							
								
								Issue  #24115 : Update uses of PyObject_IsTrue(), PyObject_Not(),  
							
							... 
							
							
							
							PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
to check for and handle errors correctly. 
							
						 
						
							2015-05-30 17:48:19 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Serhiy Storchaka 
								
							 
						 
						
							
							
							
							
								
							
							
								fa494fd883 
								
							 
						 
						
							
							
								
								Issue  #24115 : Update uses of PyObject_IsTrue(), PyObject_Not(),  
							
							... 
							
							
							
							PyObject_IsInstance(), PyObject_RichCompareBool() and _PyDict_Contains()
to check for and handle errors correctly. 
							
						 
						
							2015-05-30 17:45:22 +03:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								8651a50475 
								
							 
						 
						
							
							
								
								Issue  #23359 : Specialize set_lookkey intoa lookup function and an insert function.  
							
							
							
						 
						
							2015-05-27 10:37:20 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								5af9e13c18 
								
							 
						 
						
							
							
								
								Minor stylistic and consistency cleanup.  
							
							
							
						 
						
							2015-05-13 01:44:36 -07:00 
							
								 
							
							
								 
							
						 
					 
				
					
						
							
								
								
									Raymond Hettinger 
								
							 
						 
						
							
							
							
							
								
							
							
								1bd8d75be3 
								
							 
						 
						
							
							
								
								Issue  #23290 :  Optimize set_merge() for cases where the target is empty.  
							
							... 
							
							
							
							(Contributed by Serhiy Storchaka.) 
							
						 
						
							2015-05-13 01:26:14 -07:00